添加操作wp_head不起作用

时间:2013-10-18 作者:robolist

我试图通过我正在制作的插件向头部添加一些代码(即跟踪脚本块)。

该插件有一个界面,用户可以在其中输入一些详细信息,然后将这些信息添加到选项表中。到目前为止,一切都很顺利。但我想写一个条件语句,如果有一个open,那么就在head中添加。基本上,我在主插件文件中有这一切,它看起来像这样;

if(get_option( \'MyOptionName\' )){
    function testingone(){ ?>
        <script>var Script = GoesHere; </script>
    <?php ;}
    add_action(\'wp_head\',\'testingone\');
}
我曾尝试将其放置在实际的块中,该块提取数据,然后添加到选项中,但这不起作用,然后我决定这样做,查看表中是否有选项,但这也不会向头部注入任何内容。我在一些地方看到人们将add\\u操作放在函数上方,但在codex中,它在下面显示了一个示例。但无论哪种方式,我都尝试过,但都失败了。

有人能看出哪里出了问题吗?

干杯

4 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

拉动add_action() 并将条件放在回调函数内部。此外,如果要直接打印脚本,请使用wp_print_scripts 而不是wp_head. 您还有一个语法错误。

function testingone(){ 
    if( get_option( \'MyOptionName\' ) ) {
        ?>
        <script>var Script = GoesHere; </script>
        <?php
    }
}
add_action( \'wp_print_scripts\',\'testingone\' );

SO网友:Pat J

尝试改变代码:

function testingone() {
    if( FALSE !== get_option( \'MyOptionName\' ) ) {
        echo( \'ok, this is in the head!\' );
    } 
}
add_action( \'wp_head\', \'testingone\' );
此外,请检入主题的文件(很可能header.php) 确保wp_head() 正在调用函数,并确保MyOptionName 已为站点设置选项。

Edited to add -- 您还应该使用wp_enqueue_script() 将Javascript添加到您的站点,而不仅仅是将其转储到<head>.

参考文献wp_head (action)
  • wp_head() (function)
  • get_option()
  • wp_enqueue_script()
  • SO网友:dipali

    请参见以下代码。添加IF 函数内的语句。

    function testingone(){ 
        if(get_option( \'MyOptionName\' )){
        ?>
        <script>var Script = GoesHere; </script>
        <?php } 
          }
    add_action(\'wp_head\',\'testingone\');
    

    SO网友:Praveen

    function plugin_script() {
           wp_enqueue_script( \'Jquery-min\', WP_PLUGIN_URL. \'/Test Plugin/jquery-min.js\', false, \'1.11.0\' );<br/>
           wp_enqueue_style(\'pluginstyle\', WP_PLUGIN_URL. \'/Test Plugin/pluginstyle.css\',false,\'1.0\',"all");<br/>
    }
    add_action( \'wp_head\', \'plugin_script\' );
    
    “wp\\U head”动作挂钩在“head”部分内触发。

    wp\\u enqueue\\u script()用于执行脚本,wp\\u enqueue\\u style用于插件中的样式表。“WP\\u PLUGIN\\u URL。”将从主题的插件文件夹中获取数据。“测试插件”是您的插件名称“pluginstyle.css”插件样式表。“jquery-min.js”插件脚本。

    结束

    相关推荐

    Options.php loop won't show!

    我正在为存储在选项中的本地主机上的主题创建选项面板。php文件。我的选项面板将有两个主回路。第一个是列出不同的部分,第二个将创建这些部分。我刚刚编写了第一个循环,它在运行时不会显示任何内容。此循环和一些周围html的代码是:<aside> <nav> <ul> <?php foreach ($options as $value){ switch