Add dynamic content to a WordPress Page

I want to know the most elegant/best practice way to do the following:

Let’s say I have some PHP that returns a string (today’s weather, for example). I want to be able to include the string within a WordPress Page, but not by using a plug-in to allow PHP within a Page.

Read More

So for example:

This is content of the page that is editable via WordPress pages. 
Today's weather is THE_WEATHER. This bit is also editable, but as 
an editor I can't edit the PHP that just told us what the weather 
is, the developer does that.

What is the best practice way to do this (preferably without using plug-ins)?

Related posts

Leave a Reply

1 comment

  1. Offhand, it sounds like you want to define a shortcode that lets you invoke the PHP function you’re talking about and insert its result into a page/post. This pretty much means that you’re writing either a (very simple) plugin or you’re incorporating the shortcode definition into the functions.php file associated with a theme (which can be a simple child theme of the one you’re using).

    Which to do probably depends on whether or not you’re likely to change themes (if it’s just one site) or whether or not you need to do the same thing on different sites that can have different themes. If either is the case, then you should write it as a plugin; otherwise you can just make it part of your theme.

    Consult the Codex to learn how to define shortcodes.