functionen verursachen Fehler

Ich erkläre eine function für das PHP eines Plugins. Das Plugin lädt den Code am Anfang jedes Posts (Post Layout ist der Name des Plugins).

Kann vote_up () nicht deklarieren (zuvor in /home/content/08/10290908/html/wp-content/plugins/post-layout/plugin.php(181) deklariert): eval () ‘d code: 4) in / home / Inhalt / 08/10290908 / html / wp-content / plugins / post-layout / plugin.php (181): eval () ‘d Code in Zeile 36

das ist die angezeigte Fehlermeldung, es ist nicht, weil die function bereits in der functions.php deklariert wurde (ich weiß, weil ich es getestet habe, indem ich sie in alle Arten von Namen umbenannt habe) Es steht bereits in dem Plugin deklariert, das ich benutze der Code.

Heres der Code:

<?php function vote_up(){ if($post_vote == "9"){ } elseif($post_vote == "8"){ update_post_meta( get_the_ID(), 'post_vote', '9', '8'); } elseif($post_vote == "7"){ update_post_meta( get_the_ID(), 'post_vote', '8', '7'); } elseif($post_vote == "6"){ update_post_meta( get_the_ID(), 'post_vote', '7', '6'); } elseif($post_vote == "5"){ update_post_meta( get_the_ID(), 'post_vote', '6', '5'); } elseif($post_vote == "4"){ update_post_meta( get_the_ID(), 'post_vote', '5', '4'); } elseif($post_vote == "3"){ update_post_meta( get_the_ID(), 'post_vote', '4', '3'); } elseif($post_vote == "2"){ update_post_meta( get_the_ID(), 'post_vote', '3', '2'); } elseif($post_vote == "1"){ update_post_meta( get_the_ID(), 'post_vote', '2', '1'); } elseif($post_vote == "0"){ update_post_meta( get_the_ID(), 'post_vote', '1', '0'); } else{//do nothing }; } //if the post is pending show if(get_post_status() == 'pending') { //if the user is logged in show if ( is_user_logged_in() ) { add_post_meta( get_the_ID(), 'post_vote', '0', true ); $post_vote = get_post_meta( get_the_ID(), 'post_vote', true ); echo 'Votes: ' . $post_vote; echo ' 
'; echo ' '; echo '
'; } else { echo'Please Sign in to Vote'; } } else { // do nothing } ?>

Der obige Code versucht grundsätzlich so zu machen, dass beim Klicken auf den Button der Meta-Schlüssel vote um eins hochgeht. Es ist für das Wählen so, sobald 10 Benutzer darüber abstimmen, wird es veröffentlichen.

Diese dummen Knöpfe, so ein Streit, ich kann nicht weitermachen, bis ich es funktioniere, sogar versucht, einen Kerl zu bezahlen, um den Knopf zu reparieren, und er hatte keine Ahnung

Solutions Collecting From Web of "functionen verursachen Fehler"

Sie möchten die function vote_up() { [...] } am Anfang jedes Beitrags hinzufügen, wenn Sie mehr als einen Beitrag auf einer Seite anzeigen. Sie möchten die function vote_up() in der PHP-Datei Ihres Plugins deklarieren.

Sobald das Plugin die function deklariert, können Sie, solange das Plugin aktiv ist, die function einfach dort aufrufen, wo Sie sie benötigen.

Ich würde jedoch zwei weitere Änderungen vorschlagen:

  • Präfix den functionsnamen.

vote_up ist ziemlich generisch und Sie laufen Gefahr, mit anderen Plugins und / oder Themes zu kollidieren. Etwas wie [plugin_name]_vote_up() würde gut funktionieren.

  • Stellen Sie sicher, dass die function vorhanden ist, bevor Sie sie verwenden.

Wenn Sie vote_up beliebigen Stelle außerhalb des Plugins aufrufen (z. B. eine vote_up Datei), umgeben Sie den Anruf wie folgt:

 if ( function_exists( 'vote_up' ) ) { vote_up(); } 

Dadurch wird sichergestellt, dass Ihre Themendateien weiterhin ordnungsgemäß funktionieren, wenn Sie das Plug-In aus irgendeinem Grund deaktivieren müssen.