My php file is a copy of code found here :
https://www.zenphoto.org/news/content-macros/ :
<pre>[code]
<?php
/** Macro de test
*
*
* Fichier php dans le répertoire plugins, et activé.
* */
$plugin_author = "Me";
$plugin_version = '0.1';
$plugin_is_filter = 5|THEME_PLUGIN|ADMIN_PLUGIN;
zp_register_filter('content_macro','mymacro');
function mymacro($macros) {
$macros['HELLOWORLD'] = array(
'class'=>'expression',
'params'=>array('string'),
'value'=>'getHelloWorld($1);',
'owner'=>'basic',
'desc'=>gettext('%1 = Text before')
);
return $macros;
}
function getHelloWorld() {
return $beforetext.'Hello World';
}
?>
</pre>[/code]
And error log :
<pre>[code]
{885:Sun, 16 Jun 2024 18:14:18 GMT} Zenphoto v1.6.3
AVERTISSEMENT : Undefined variable $_zp_db dans /DonneesMsi/Sites/clatique/multimedia/zp-core/functions/functions.php à la ligne 2727
applyMacros called from getCodeblock (template-functions.php [4365])
from printCodeblock (template-functions.php [4379])
from include (pages-aide.php [33])
from include (index.php [128])
from index.php [56]
{885:Sun, 16 Jun 2024 18:14:18 GMT}
ERREUR : Call to a member function quote() on null dans /DonneesMsi/Sites/clatique/multimedia/zp-core/functions/functions.php à la ligne 2727
</pre>[/code]
Your macros are ok :
<pre>[code]
[ZENPHOTO_VERSION]
[CODEBLOCK 2]
</pre>[/code]
work as expected