Wordpress は、拡張性のためにフックとアクションを使用します。プラグインは次のようになります。
class myLightbox
{
function __construct()
{
add_action('wp_footer',array($this,'my_footer'));
}
function my_footer()
{
echo '<script src="http://external-site.com/lightbox.js" ></script>';
}
}
add_action
そのコードをWordpressの外で実行する場合、関数をすぐに呼び出すだけでも、動作したいと思います。
私はこれらを読みました:
2 番目のものは、私がやりたいことにかなり近いですが、クラスの一部である関数を操作するように設計されているとは思いません。
使用してみcall_user_function
ましたが、どのように物を与えるかわかりませんarray($this,'my_footer')
:
function add_action($whenToCall,$contextAndFunction=array())
{
call_user_func($contextAndFunction);
}
私もこれを試しましたが、私のOOPが良くないことがわかるように、私は苦労しています:
function add_action($whenToCall,$contextAndFunction=array())
{
$function = array_pop($contextAndFunction);
$context = array_pop($contextAndFunction);
$context->$function();
}
minitech
さんの提案を使用したテストに失敗しました:
class myLightbox
{
function __construct()
{
add_action('wp_footer',array($this,'my_footer'));
}
function my_footer()
{
echo '<script src="http://external-site.com/lightbox.js" ></script>';
}
}
function add_action($whenToCall,$contextAndFunction=array())
{
$contextAndFunction();
}
$myLightbox = new myLightbox();
プロデュース:
Fatal error: Function name must be a string