0

我正在创建一个新的 wordpress 插件,它只显示在帖子中,但为了检测它是一个帖子,我正在尝试使用 is_single(),但它不起作用。

class myplugin{
//my plugin code here
}
function load_plugin($plugin_class, $priority = 10) {
    if (class_exists($plugin_class)) {
        add_action("init",
                create_function('', "global \$$plugin_class; \$$plugin_class = new $plugin_class();"),
                $priority);
    }
}
if(is_single()){  // witout this, the plugin is displayed everywhere, but whit it it's not displayed at all
load_plugin(myplugin);
}

我什至试图查看 is_single 的输出

echo"<script>alert('".is_single()."');</script>";

我得到“未定义”

编辑 //没有 is_single 并且只加载我的插件,我的插件适用于 wordpress 的每一页。

4

1 回答 1

1

条件标签,如 is_single,在 wp 钩子触发之前不可用。您试图过早使用它,这就是它返回未定义的原因。

之后将您的函数添加到钩子并在那里进行 is_single 测试。这样做的开销很小,所以不用担心性能问题。

于 2013-08-01T13:30:58.570 回答