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
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
$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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bekam die richtige Antwort auf WordPress Antworten. Dachte, ich sollte es teilen:
$post_ID
ist einWP_Post
Objekt. Ihre exec-code sollte effektiv sein mit$post_ID->ID.
Gibt
Mit freundlicher Genehmigung von vancoder
Feststellen, dass diese abhängig von der Haken Sie verwenden. E. g, wenn Sie
publish_page
erhalten Sie eine ganze Zahl (Dies war eigentlich die Quelle meiner Verwirrung)InformationsquelleAutor Matanya
War ich immer die gleichen Fehler, aber die Lösung für mein problem am Ende war
War dies, weil WP_Query genutzt wurde und unterbrochen wurde der rest der Abfragen weiter unten auf der Seite.
Ich hoffe, dies hilft jemand
InformationsquelleAutor ConorJohn
Ich habe die gleichen Fehler auf meiner website einen Tag, aber der code war nicht das problem. Das problem liegt in der Datenbank. Was ich Tat, war gehen in meine Datenbank, und ändern Sie die siteurl und home, weil es nur Unsinn drin. Ich glaube, meine website war der Kompromiss, damit ich das Datenbank-Kennwort ändern. Diese website wird Ihnen helfen, um loszuwerden, die abfangbaren fatal error https://www.msgdigital.com/catchable-fatal-error-object-of-class-wp_error-could-not-be-converted-to-string/ .
Ich versuchte es und Vertrauen Sie mir, es funktioniert.
InformationsquelleAutor Wayne Umrah