Zwei Plugins mit the_title; einer, der nicht an zweiter Stelle vorbeikommt.

Ich benutze zwei Plugins, die the_title verwenden, aber eine (obwohl immer noch vollständig funktional) zeigt einen Fehler auf bestimmten Seiten.

Fehlendes Argument 2 für pfund_handle_title () in … wp-content / plugins / personal-fundraiser / includes / user.php in Zeile 639

Mir wurde gesagt, dass es den zweiten erforderlichen Parameter von the_title nicht erfüllt.

Hier ist mein Original? auf den WP-Foren: http://wordpress.org/support/topic/plugin-personal-fundraiser-missing-argument-2-for-pund_handle_title-in-userphp-on-line-639?replies=4#post-2682690

Das zweite Plugin ist Blog in Blog. Wenn deaktiviert, verschwindet der Fehler, also bin ich sicher, dass es der ist.

Ich möchte das Debugging in wp-config nicht auf “false” setzen, denn ich möchte nicht, dass es falsch ist.

Hier ist die Zeile aus dem Blog in Blog-Plugin, die auf den Titel verweist.

$data['post_title'] = apply_filters('the_title', $post->post_title); 

Kann ich etwas tun, um dies zu erreichen, ohne den Fehler zu sehen?

Solutions Collecting From Web of "Zwei Plugins mit the_title; einer, der nicht an zweiter Stelle vorbeikommt."

Ich habe dieses Problem in einigen meiner eigenen Plugins und es ist eine einfache Lösung. Grundsätzlich beschreibe ich dies als ein “faules Entwickler” Problem. Es kommt darauf an, dass jemand einen Filter hinzufügt, aber keine optionalen Parameter berücksichtigt.

Schritt 1 – Bearbeiten Sie die Plugin-Datei

Der Code, der bricht, beginnt um Zeile 639 (entsprechend Ihrer Debug-Informationen):

 function pfund_handle_title( $atitle, $post_id ) { global $post; if ( ! pfund_is_pfund_post( ) || $post_id != $post->ID ){ return $atitle; } return pfund_get_value( $_REQUEST, 'pfund-camp-title', $atitle ); } 

Was wir tun müssen, ist die function nur ein wenig zu ändern, um eine ausgelassene $post_id zu akzeptieren:

 function pfund_handle_title( $atitle, $post_id = null ) { global $post; if ( null == $post_id || ! pfund_is_pfund_post( ) || $post_id != $post->ID ){ return $atitle; } return pfund_get_value( $_REQUEST, 'pfund-camp-title', $atitle ); } 

Wenn kein $post_id wird, geben wir stattdessen den Titel zurück. Es ist im Wesentlichen ein Kurzschluss, um gegen faule Entwickler zu isolieren, die nicht alle richtigen Daten übermitteln.

Schritt 2 – Reichen Sie einen Patch ein

Bitte senden Sie diesen Code an den ursprünglichen Entwickler und bitten Sie ihn, ihn in zukünftige Versionen aufzunehmen. Andernfalls werden Sie bei der Veröffentlichung eines Updates gezwungen, den Code immer wieder neu zu patchen.

Sind nicht beide Parameter des Filters “the_title” erforderlich?

http://codex.wordpress.org/Plugin_API/Filter_Reference/the_title

Wenn der Plug-in-Autor den Patch nicht verwendet oder das Problem nicht behoben hat und Sie mit sauberen Protokollen arbeiten möchten, könnte Zack Tollmans Ostrichisize-Plugin für Sie von Interesse sein. Aus der Plugin-Beschreibung:

“Wenn Sie jemals ein Plugin installiert oder auf einer Website mit einem Plugin gearbeitet haben, das zahlreiche Fehler und Hinweise enthält, aber keine Zeit hat, das Problem zu beheben, können Sie diese Hinweise mit diesem Plugin deaktivieren. Durch einfaches Filtern des Plugins können Sie der Liste der Plugins hinzufügen, für die keine Benachrichtigungen angezeigt werden. ”

http://wordpress.org/extend/plugins/ostrichcize/