如何获得POST META in函数?

时间:2013-02-14 作者:She Hulk

我在php函数中设置了一个电子邮件按钮。单击前端更新帖子按钮时会发送电子邮件。问题是:电子邮件已发送,但我无法在帖子中显示帖子标题。我想我没有正确设置post\\u title变量。。。无论如何,下面是代码(从旧的wp answers线程中获取并部分编辑)。

对于按钮

function show_publish_button2(){
Global $post;
    echo \'<form name="front_end_publish" method="POST" action="">
            <input type="hidden" name="pid" id="pid" value="\'.$post->ID.\'">
            <input type="hidden" name="FE_PUBLISH" id="FE_PUBLISH" value="FE_PUBLISH">
            <input type="submit" name="submit" id="submitp2" value="" onClick="return confirm(\\\'are you sure?\\\')">
        </form>\';
}
用于更新帖子和电子邮件

if (isset($_POST[\'FE_PUBLISH\']) && $_POST[\'FE_PUBLISH\'] == \'FE_PUBLISH\'){
if (isset($_POST[\'pid\']) && !empty($_POST[\'pid\'])){
update_post_meta((int)$_POST[\'pid\'], \'rivedi_check\', \'false\');
$ogg = $post->post_title;
    $to = \'[email protected]\';
$subject = \'Post updated\';
$message = \'Post title \'.$ogg;
        wp_mail(
            $to,
            $subject,
            $message
        );
 }
}
我还尝试了:

$ogg = get_post($post->ID, post_title);
但它是一样的,它不起作用。我收到的邮件正文中唯一写的是:“文章标题:”。

1 个回复
最合适的回答,由SO网友:birgire 整理而成

看起来你应该用

$mypost = get_post($_POST[\'pid\']);
$ogg = $mypost->post_title;
而不是

$ogg = get_post($post->ID, post_title);

结束

相关推荐