过渡岗位状态未在工作

时间:2014-04-02 作者:Deniz C.

我有一个插件,它使用transition_post_status 钩子,在更新后启动自定义函数。但我不知道为什么它不起作用。这是代码

 add_action(\'transition_post_status\', \'pmc_update_notification\',10,3);

function pmc_update_notification($new_status, $old_status, $post) {
echo \'function checkpoint 1\';
$options = get_option(\'pmc_setting\');
if($options[\'snpi\'] != false && is_single()){
   if ( $old_status == \'publish\' && $new_status == \'publish\' ) {
  echo \'function checkpoint 2\';
$post_title = get_the_title($post);
$post_url = get_permalink($post);
$message = __(\'Post updated\',\'pmc\').":\\n";
$message .= $post_title . ": " . $post_url;

// Send notification
pmc_send($message);
  }
 }
}

2 个回复
最合适的回答,由SO网友:Deniz C. 整理而成

发现问题!

这是is_single() 线它不工作,因为它在循环之外。

SO网友:Farzad

您必须在header.php (您的wp主题):

<?php wp_head(); ?>
这一个放进你的Footer.php :

<?php wp_footer(); ?>
因为您正在向Wordpress添加动作,所以您必须在主题中调用该函数。

结束

相关推荐

为什么不调用/触发“Plugins_Load”?

我正在打电话load_plugin_textdomain 然而,一旦加载了插件,就不会发生这种情况。我确实激活了一个插件,所以这不应该触发吗?add_action(\"plugins_loaded\", \"test_override\"); function init_localization() { echo \"init_localization<br>\"; load_plugin_textdomain (&#x