it-swarm.com.de

add action wp_head funktioniert nicht

Ich versuche, über ein Plugin, das ich mache, dem Kopf etwas Code hinzuzufügen (nämlich einen Block von Tracking-Skripten).

Das Plugin verfügt über eine Benutzeroberfläche, in die der Benutzer einige Details eingibt, die dann der Optionstabelle hinzugefügt werden. Das alles funktioniert soweit einwandfrei. Aber dann möchte ich eine bedingte Anweisung schreiben, wenn es eine offene gibt, und dann add to head. Grundsätzlich habe ich das alles in der Haupt-Plugin-Datei und es sieht so aus;

if(get_option( 'MyOptionName' )){
    function testingone(){ ?>
        <script>var Script = GoesHere; </script>
    <?php ;}
    add_action('wp_head','testingone');
}

Ich habe versucht, dies innerhalb des eigentlichen Blocks zu platzieren, der die Daten abruft und dann Optionen hinzufügt, aber das hat nicht funktioniert. Dann habe ich mich für diese Methode entschieden, bei der geprüft wird, ob die Tabelle eine Option enthält spritzt auch nichts in den kopf. Einige Orte, an denen ich Leute gesehen habe, haben die Funktion add_action über die Funktion gesetzt, aber im Codex wird unten ein Beispiel dafür gezeigt. aber so oder so habe ich versucht und bin gescheitert.

Kann jemand sehen, wo das schief geht?

Prost

1
robolist

Ziehen Sie die add_action() außerhalb der Funktion und setzen Sie die Bedingung innerhalb des Rückrufs. Wenn Sie ein Skript direkt drucken, verwenden Sie wp_print_scripts anstelle von wp_head. Sie haben auch einen Syntaxfehler.

function testingone(){ 
    if( get_option( 'MyOptionName' ) ) {
        ?>
        <script>var Script = GoesHere; </script>
        <?php
    }
}
add_action( 'wp_print_scripts','testingone' );
7
Chip Bennett

Versuchen Sie, Ihren Code umzudrehen:

function testingone() {
    if( FALSE !== get_option( 'MyOptionName' ) ) {
        echo( 'ok, this is in the head!' );
    } 
}
add_action( 'wp_head', 'testingone' );

Überprüfen Sie auch die Dateien Ihres Themas (höchstwahrscheinlich header.php), um sicherzustellen, dass die Funktion wp_head() aufgerufen wird, und stellen Sie sicher, dass die Option MyOptionName für die Site festgelegt ist.

Zum Hinzufügen bearbeitet - Sie sollten auch wp_enqueue_script() verwenden, um Javascript zu Ihrer Site hinzuzufügen, anstatt sie einfach in den <head> zu kopieren.

Verweise

3
Pat J

siehe unten code.Add IF Anweisung innerhalb der Funktion.

function testingone(){ 
    if(get_option( 'MyOptionName' )){
    ?>
    <script>var Script = GoesHere; </script>
    <?php } 
      }
add_action('wp_head','testingone');
3
dipali
function plugin_script() {
       wp_enqueue_script( 'Jquery-min', WP_PLUGIN_URL. '/Test Plugin/jquery-min.js', false, '1.11.0' );<br/>
       wp_enqueue_style('pluginstyle', WP_PLUGIN_URL. '/Test Plugin/pluginstyle.css',false,'1.0',"all");<br/>
}
add_action( 'wp_head', 'plugin_script' );

Der Aktions-Hook "wp_head" wird im Abschnitt "head" ausgelöst.

wp_enqueue_script () wird zum Ausführen von Skripten verwendet und wp_enqueue_style ist für Stylesheet vom Plugin. "WP_PLUGIN_URL." Daten werden aus dem Plugin-Ordner mit den Themen abgerufen. "Test Plugin" ist Ihr Plugin Name "pluginstyle.css" Plugin Stylesheet. Plugin-Skript "jquery-min.js".

0
Pullata Praveen