获取“无法将WP_Post类的对象转换为字符串”-当它是字符串时

时间:2013-02-21 作者:Matanya

我的函数中有以下代码。php,发布时执行脚本:

function save_new_post($post_ID)
{

    $site_root = \'/home/forexmag/public_html/directory2\';
    $post = get_post($post_ID);
    $title = $post->post_title;
    $breaking_news = false;

    $categories = get_the_category($post_ID);
    if (is_array($categories) && !empty($categories))
    {
        foreach ($categories as $cat_det)
        {
            //this is the id for the breaking (bad) news
            if (5668 == $cat_det->cat_ID)
            {
                $breaking_news = true;
                break;
            }
        }
    }

    $exec_code = "/usr/local/bin/php 
            $site_root 
            /crons/cron_notify.php \'$title\' $post_ID 2 " . intval($breaking_news);
    exec(
        $exec_code
    );

}
add_action(\'publish_page\', \'save_new_post\', 10, 1);
当我发布一篇新文章时,我不断遇到以下错误:

Catchable fatal error: Object of class WP_Post could not be converted to string in /home/forexmag/public_html/wp-content/themes/forex_magnates/functions.php on line 712
这条线是我设置$exec_code 然而,正如您所看到的,正如我通过var\\u dump确认的,$title变量is 字符串。

我错过了什么?

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

洋红实际上是正确的$post\\u ID是WP\\u post对象。您的exec代码应该有效地使用$post\\u ID->ID。

function save_new_post($post_ID)
{
    print_r($post_ID);
    die();
退货

WP_Post Object ( [ID] => ...

结束

相关推荐

为什么GET_POSTS()返回空集?

我正在编写一个自定义插件,该插件在init. 此插件正在尝试查询数据库中已存储的一些自定义帖子类型。这是我的代码:$args = array() $myposts = get_posts( $args ); print_r($myposts); 无论我向$args数组传递什么参数,我都不会得到任何结果。例如:$args = array( \'post_type\' => \'page\' ); 现在,如果我使用与get_pages() 我得到了一个结果。这可能