So, das hat mir keine Ruhe gelassen. Ich habe mich gewundert, warum ich noch nie auf dieses Problem gestoßen bin, bis mir eingefallen ist, daß ich immer mit Objekten arbeite und nie mit globalen Variablen.
Dies funktioniert:
[SIZE="4"]Plugin 1[/SIZE]
PHP
<?php
/*
Plugin Name: Variablentest 1
Description: Setzt eine Variable $test, die im zweiten Plugin aufgerufen und vor den Artikelinhalt gestellt wird.
*/
class Var_Test {
public $test = 'Bingo!';
}
[SIZE="4"]Plugin 2[/SIZE]
PHP
<?php
/*
Plugin Name: Variablentest 2
Description: Setzt die Variable $test aus dem ersten Plugin vor den Artikelinhalt.
*/
function _var_test($content)
{
$prefix = 'Klasse Var_Test nicht gefunden';
if ( class_exists('Var_Test') )
{
$obj = new Var_Test;
$prefix = $obj->test;
}
return '<h1>' . $prefix . '</h1>' . $content;
}
add_filter('the_content', '_var_test');
Alles anzeigen
Jetzt beginnt jeder Artikel mit:
Der Inhalt der Variablen ist also global zugänglich, verpestet aber nicht den globalen Namensraum.
Hilft dir das?
Gruß
Thomas