我正在尝试为函数显示标题。我给自己发了一封电子邮件,看看我能不能把它用在不同的标题上。目前,我唯一能让它工作的方法是通过get\\u the\\u标题中的硬编码数字。下面的例子很有效。
$tweetingthing = get_the_title(1067);
$to = \'[email protected]\';
$subject = \'Hi!\';
$body = \'Hi,\' . chr(10) . chr(10) . \'Hi title= \' . $tweetingthing . \' page id is \' . $this_page_id;
if( wp_mail($to, $subject, $body ) ) {
echo(\'<p>Message successfully sent!</p>\');
} else {
echo(\'<p>Message delivery failed...</p>\');
}
很明显,我想要的不仅仅是那个标题,我希望每个标题都能通过电子邮件发送。我试过这个:
global $post;
//$thePostID = $post->ID;
$wp_query->post;
$this_page_id = $post->ID;
echo $this_page_id ;
$tweetingthing = get_the_title($this_page_id);
$to = \'[email protected]\';
$subject = \'Hi!\';
$body = \'Hi,\' . chr(10) . chr(10) . \'Hi title= \' . $tweetingthing . \' Post id is \' . $this_page_id;
if( wp_mail($to, $subject, $body ) ) {
echo(\'<p>Message successfully sent!</p>\');
} else {
echo(\'<p>Message delivery failed...</p>\');
}
这为$tweetingthing和$This\\u page\\u id提供了null(我知道这是我试图获取的帖子id,我只是使用了示例中的变量giving,希望不会让任何人感到困惑)。
我也试过了
$tweetingthing = get_the_title($post_id);
还尝试了$tweet\\u post\\u id=the\\u id()$tweetingthing=获取\\u标题($tweet\\u post\\u id);
没有运气
$page_object = get_queried_object();
$tweetingthing = get_queried_object_id();
导致帖子标题为0
添加信息:
我正在使用状态转换操作启动函数。当它转到发布并匹配它执行的自定义帖子类型时。
我正在使用自定义帖子类型
如何获取自定义帖子标题?
完整源代码:
function intercept_all_status_changes( $new_status, $old_status, $post ) {
if ( $new_status == \'publish\' && get_post_type( $post ) == \'tweet\' ) {
// Post status changed
twitter_run_when_published ();
}
}
add_action( \'transition_post_status\', \'intercept_all_status_changes\', 10, 3 );
function twitter_run_when_published () {
//
//email the stuffuff
//
global $post;
global $wp_query;
//$thePostID = $post->ID;
$wp_query->post;
$this_page_id = $post->ID;
echo $this_page_id ;
$to = \'[email protected]\';
$subject = \'Hi!\';
$body = \'Hi,\' . chr(10) . chr(10) . \'Hi title= \' . $tweetingthing . \' Post id is \' . $this_page_id;
if( wp_mail($to, $subject, $body ) ) {
echo(\'<p>Message successfully sent!</p>\');
} else {
echo(\'<p>Message delivery failed...</p>\');
}
}
所以在@nickyoung提到这很奇怪之后,我想如果状态发生变化,我会尝试发送一封电子邮件。它给我发了4条信息。
第一:标题不存在(职位状态不存在)第二:标题不存在(职位状态不存在)第三:标题存在(职位状态为草稿)第四:没有标题和职位状态不存在
编辑:刚刚整理了一些jibberish的句子
edit2:添加了完整的源代码以查看是否有任何帮助
edit3:添加了有关post状态转换的额外信息