首先,您需要在函数中传递post$id,而不是$title和$content:
function new_post($id)
然后,您的功能可能会回显内容-如果浏览器中的源代码显示为空,请通过“查看页面源代码”在浏览器中检查源代码。
但是,如果您使用echo $content
然后,短代码、WordPress的格式化和密码保护功能都将被破坏。您需要这样包装您的通话:
echo apply_filters(\'the_content\', $post->post_content);
有关此的详细信息
here 和
herefunction new_post($post_ID)
{
$post = get_post($post_ID);
$feat_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
$title = $post->post_title;
$content = $post->post_content;
echo $title;
echo apply_filters(\'the_content\', $content);
}
add_action( \'publish_post\', \'new_post\' );
此外,如果您试图获取更新/更改的信息,它将存储在
$_POST
变量但如果你从
$post->post_content
这是在保存/发布/更新帖子之前已存储在数据库中的旧信息。有时,您可能还需要一个条件语句来检查这是您第一次发布页面还是正在更新页面。类似这样:
if( ( $_POST[\'post_status\'] == \'publish\' ) && ( $_POST[\'original_post_status\'] != \'publish\' ) ) {
// code to execute here...
}