' future_to_publish'钩不在wordpress工作

时间:2016-05-30 07:52:27

标签: php wordpress

我在发布预定帖子时尝试将数据保存到文件中。我尝试使用钩子' future_to_publish',发布_future_post',' transition_post_status' - 他们都没有为我工作。我尝试改变钩子的优先级 - 也没有用。

这是我的代码:

<?php
function savePostData( $ID ) {
$wpRootPath     = get_home_path();
$postsDataPath  =  $wpRootPath . 'test.txt';
$handle = fopen( $postsDataPath, "w" );
fwrite( $handle, $ID );
fclose( $handle ); 
}
add_action( 'future_to_publish', 'savePostData', 10, 1 );
?>    

将相同的功能附加到以下挂钩时,一切正常:

add_action( 'publish_post', 'savePostData', 10, 1 );
add_action( 'pending_to_publish', 'savePostData', 10, 1 );
add_action( 'draft_to_publish', 'savePostData' );

我读到is_admin()函数干扰wordpress cron作业存在一些问题,但是,我仍然无法使其工作。

1 个答案:

答案 0 :(得分:2)

事实证明,当使用cron发布帖子时,'publish_post'钩子也会被执行,我不需要将它与'future_to_publish'钩子一起使用。

然而,两个钩子的问题是由于某种原因get_home_path();与从管理面板立即发布帖子的方式不同,因此使用我的文件的确切路径解决了问题。