Immer "ein Objekt der Klasse WP_Post konnte nicht in eine Zeichenfolge konvertiert werden" - wenn es ein string ist

Ich habe folgenden code in meine functions.php führt ein script auf veröffentlichen:

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('draft_to_publish', 'save_new_post', 10, 1);

Veröffentlicht, wenn ich einen neuen post-ich bekomme immer folgenden Fehler:

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

Dieser Linie ist, wo ich die $exec_code var. Jedoch, wie Sie sehen können, und als ich bestätigte per var_dump, die $title variable ist ein string. Was bin ich?

EDIT: Was noch seltsamer ist, dass wenn ich var_dump $exec_code und töten das Skript, bekomme ich eine perfekte string:

string(121) "/usr/local/bin/php /home/forexmag/public_html/directory2/crons/cron_notify.php '2011 Free Forex Report' 9934 2 0"
Können Sie bestätigen, wenn $post_ID ist ein string?
Es ist eine ganze Zahl. Aber sollte es nicht in eine Zeichenfolge konvertiert werden, wenn verkettet?
Sie hatten Recht. Getestet habe ich mit der publish_page Haken, das gibt ein int, in der Erwägung, dass die draft_to_publish verwendet man ein Objekt

InformationsquelleAutor Matanya | 2013-02-21

Schreibe einen Kommentar