是否使用调用插件选项向wp_head添加javascript?

时间:2013-09-10 作者:phoenixlaef

我正在尝试用wordpress编写一个插件,并且已经分阶段完成了这项工作,我知道如何将javascript添加到wp\\U头部,但是我不知道如何向插件选项添加多个函数调用。这是我第一次尝试编写插件,所以我知道我做错了。非常感谢您的反馈!

如果我有:

    function tweet_feed_it() {
    echo \'<script type="text/javascript">
        $(document).ready(function() {
            $(".tweet").tweet({
            modpath: "path/to/plugin/twitter/",
            username: "twitter_username",
            join_text: "auto",
            count: tweet_count,
            auto_join_text_default: "We tweeted,", 
            auto_join_text_ed: "We",
            auto_join_text_ing: "We were",
            auto_join_text_reply: "We replied to",
            auto_join_text_url: "We were checking out",
            loading_text: "loading tweets..."
                    });
                 });
           </script>\'};
// Add to head
add_action(\'wp_head\', \'tweet_feed_it\');
脚本显示在wp\\u head fine中。

但是在我的wordpress插件中,我设置了一些选项,我想在脚本标记中调用它们。

我将展示我所做的尝试,以便您了解我正在努力实现的目标,至少:

    class TweetFeedIt {
    function tweet_feed_it() {
        function twitter_username_callback() {
            function tweet_count_callback() {
    printf( \'<script type="text/javascript">
            $(document).ready(function() {
            $(".tweet").tweet({
            modpath: "http://test.phoenixlaef.com.au/wp-content/plugins/Tweet-Feed/twitter/",
            username: "twitter_username",
            join_text: "auto",
            count: tweet_count,
            auto_join_text_default: "We tweeted,", 
            auto_join_text_ed: "We",
            auto_join_text_ing: "We were",
            auto_join_text_reply: "We replied to",
            auto_join_text_url: "We were checking out",
            loading_text: "loading tweets..."
        });
    });
</script>
\'
, esc_attr( $this->options[\'twitter_username\']), esc_attr( $this->options[\'tweet_count\'])
                );
            }
        }
    }
}
// Add to head
add_action(\'wp_head\', \'tweet_feed_it\', \'twitter_username_callback\', \'tweet_count_callback\');
我是否需要注册选项设置才能像这样使用它,或者我正在尝试的只是不实用?

提前感谢您的帮助:)

1 个回复
最合适的回答,由SO网友:Charles Clarkson 整理而成

在PHP中嵌套函数很少有意义。这样做有一些高级理由,但我怀疑在这种情况下是否需要这些理由。

class TweetFeedIt {
    function tweet_feed_it() {
        function twitter_username_callback() {
            function tweet_count_callback() {
                [...]
            }
        }
    }
}
Theadd_action() 函数最多可以使用4个参数,但这些参数不是您上面编写的嵌套函数的名称。

add_action(\'wp_head\', \'tweet_feed_it\', \'twitter_username_callback\', \'tweet_count_callback\');
阅读文档了解PHP, 对于add_action() 对于adding scripts. PHP完全按照您的要求执行,但您必须遵循该语言的约定。

结束