我得到了一些推特更新的代码 -
function twitit() {
global $wp_query;
$thePostName = $wp_query->post->post_name;
echo '<div id="twitit"><a href="http://twitter.com/home?status=Currently reading '.$thePostName.' : '.get_permalink($post->ID).'" title="Click to send this page to Twitter!" target="_blank">Share on Twitter</a></div>';
}
function widget_twitit($args) {
extract($args);
echo $before_widget;
echo $before_title;
echo $after_title;
twitit();
echo $after_widget;
}
function twitit_init() {
register_sidebar_widget(__('Twit It'), 'widget_twitit');
}
add_action("plugins_loaded", "twitit_init"); //line 30
?>
致命错误:在第30行的C:\ xampp \ htdocs \ shizin \ twitter.php中调用未定义的函数add_action()
答案 0 :(得分:7)
只需在其他功能之前添加行require(dirname(__FILE__) . '/wp-load.php');
即可。这应该可以解决你的问题。
记住dirname(__FILE__)
意味着指向root wordpress目录,例如www.yourdomain.com/wordpress/
答案 1 :(得分:4)
如消息所示,您尚未定义函数add_action()
,但您尝试使用它。
首先创建它。
我搜索你以前的问题,似乎你复制了wordpress插件的代码。在这种情况下,不要直接调用页面,使用wordpress插件系统。
答案 2 :(得分:1)
如果add_action未定义,你试图在主题的核心文件之外运行它 - 基本上,它运行时没有任何WordPress应该在你的自定义函数之前做的处理。这应该在你的主题的functions.php文件中,或者在插件中,正如科林指出的那样。
C:\xampp\htdocs\shizin\twitter.php
行确实暗示这是错误的。
答案 3 :(得分:0)
将您的呼叫转移到当前活动主题中的add_action()
functions.php脚本。(不在主要的functions.php中)。
答案 4 :(得分:0)
我遇到了同样的问题。我创建了一个WooCommerce插件here,并且遇到了这个问题。
我的发现是,在加载WP函数之前,您已经添加了add_action()
。
请确保已将其加载到functions.php
中或在WP初始化/加载之后。
答案 5 :(得分:0)
这是一个核心功能,如果您通过WordPress激活了代码并通过WordPress访问了代码,则可用。如果您从浏览器执行文件或直接执行文件,则add_action不可用,除非您在文件顶部需要wp-load.php从WordPress根目录开始。