Dieses Plugin ist nicht mit den jüngsten 3 Hauptversionen von WordPress getestet worden. Es wird möglicherweise nicht mehr gewartet oder unterstützt und kann Kompatibilitätsprobleme haben, wenn es mit neueren Versionen von WordPress verwendet wird.

PHP Shortcode

Beschreibung

Based on kukukuan’s Inline PHP, this plugin allows you to embed and run PHP code in posts, pages or widgets* with a WordPress shortcode.

(* Requires a shortcode enabled widget plugin, such as Section Widget.)

Usage

The plugin provides two pairs of shortcodes – [php]code[/php] and [echo]code[/echo]. these two pairs of shortcodes resembles the functionality of the <?php code ?> and <?= code ?> tags in a normal PHP script, respectively.

For example:

The answer to the <em>ultimate</em> math challenge, <strong>1+2</strong>, is...
[php]
  $a = 1;
  $b = 2;

  echo $a + $b;
[/php]

Will become:

The answer to the <em>ultimate</em> math challenge, <strong>1+2</strong>, is...
3

The [echo] tag will automatically print the returned value of the first expression. Therefore, [echo]some_function()[/echo] is essentially equivalent to [php]echo some_function()[/php].

Some Important Notes

** This plugin will change the priority of the do_shortcode filter. If you are experiencing any conflict with other shortcode plugins, please disable the plugin and report the problem in the forums. **

Although I said the shortcode pairs resembles a <?php code ?> tag pair, there is an important difference. The PHP code in the shortcodes are executed in a „throw-away“ local namespace, instead of the global one. All variables defined in a [php] code [/php] block cannot be accessed outside the block. Therefore, this will not work:

[php]
  $a = 1;
  $b = 2;
[/php]

The answer to the <em>ultimate</em> math challenge, <strong>1+2</strong>, is... [echo]$a+$b[/echo]

And neither would this:

[php]
  $my_array = array('apple','orange');

  foreach($my_array as $fruit):
[/php]

I like [echo]$fruit[/echo]

[php]endforeach;[/php]

To work around the first problem, you may use the global keyword:

[php]
  global $a, $b;
  $a = 1;
  $b = 2;
[/php]

The answer to the <em>ultimate</em> math challenge, <strong>1+2</strong>, is... [php]global $a, $b; echo $a+$b[/php]

And to work around the second problem, you may use „real“ PHP closing tags within your [php] code [/php] block to switch between PHP and HTML mode:

[php]
  $my_array = array('apple','orange');

  foreach($my_array as $fruit):
?>

I like <?php echo $fruit; ?>

<?php
  endforeach;
[/php]

(Yes, it is a bit weird… you’d probably want to avoid doing that if possible.)

Installation

  1. Extract the zip file and drop the contents in the wp-content/plugins/ directory of your WordPress installation
  2. Activate the Plugin from Plugins page

Mitwirkende & Entwickler

„PHP Shortcode“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:

Mitwirkende

Übersetze „PHP Shortcode“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN Repository an oder abonniere das Entwicklungsprotokoll per RSS.