JQuery-Plugin für WordPress-Theme installieren (Incredible)

Ok, hier ist das Plugin in Frage Ich versuche es auf der Homepage meines WordPress Theme zu integrieren (unglaublich gekauft von themeforest)

Nach dem Lesen von WordPress Enqueue Script und all dem Zeug möchte ich es von Anfang an richtig machen.

functions.php snippet: ich habe hier nur 2 Zeilen eingefügt, eine um mein Skript “contenthover” zu registrieren, die andere um in die Warteschlange zu kommen. Ich habe auch versucht array('jquery')); um sicherzustellen, dass es abhängig von jquery ist, aber nur einen Parse / Syntax-PHP-Fehler erzeugte

 if (!function_exists('pp_scripts')) { function pp_scripts() { wp_register_script('flexslider', get_template_directory_uri() . '/js/flexslider.js'); wp_register_script('isotope', get_template_directory_uri() . '/js/jquery.isotope.min.js'); wp_register_script('ender', get_template_directory_uri() . '/js/ender.min.js'); wp_register_script('carousel', get_template_directory_uri() . '/js/carousel.js'); wp_register_script('tooltip', get_template_directory_uri() . '/js/tooltip.js'); wp_register_script('popover', get_template_directory_uri() . '/js/popover.js'); wp_register_script('effects', get_template_directory_uri() . '/js/effects.js'); wp_register_script('twitter', get_template_directory_uri() . '/js/twitter.js'); wp_register_script('imagebox', get_template_directory_uri() . '/js/imagebox.min.js'); wp_register_script('contenthover', get_template_directory_uri() . '/js/jquery.contenthover.js'); wp_register_script('custom', get_template_directory_uri() . '/js/custom.js'); wp_enqueue_script('flexslider'); wp_enqueue_script('custom'); wp_enqueue_script('isotope'); wp_enqueue_script('ender'); wp_enqueue_script('imagebox'); wp_enqueue_script('carousel'); wp_enqueue_script('twitter'); wp_enqueue_script('tooltip'); wp_enqueue_script('popover'); wp_enqueue_script('effects'); wp_enqueue_script('contenthover'); } add_action('wp_enqueue_scripts', 'pp_scripts'); } 

Als nächstes ist der Initialisierungscode, wo ich experimentiert habe, um Arbeit zu machen, es funktionierte nicht, wenn es in die header.php oder footer.php oder template-homepage-xxx.php eingefügt wurde .

Obwohl, soweit ich weiß, sollte es funktionieren, wenn es in einer dieser Dateien enthalten ist, es ist einfach nicht die “Best Practice” Art und Weise Dinge zu tun, um die Dinge sauber zu halten. Das Thema hat bereits eine custom.js-Datei geladen, so dachte ich, der beste Weg wäre, es von dort zu initialisieren

Also hier ist das custom.js-Snippet: Es enthält bereits viele kleine Codeschnipsel für Karussells / effects..etc.etc. Ich habe versucht, den Standard $ (), sowie jQuery () zu verwenden

 var $j = jQuery.noConflict(); $j(document).ready(function () { $j('.d1').contenthover({ effect:'slide', slide_speed:300, overlay_background:'#000', overlay_opacity:0.8 }); }); 

Fehler und Ausgaben:

  1. Mit $ () bekomme ich einen undefinierten Fehler in der Firebug Konsole.
  2. Mit jQuery () und $ j () erhalte ich die Fehlermeldung: Zugriff verweigert, um auf die Eigenschaft ‘toString’ in der Firebug-Konsole zugreifen zu können. nicht sicher, ob das zusammenhängt.
  3. Ich habe mit der Reihenfolge der Skripte experimentiert, in der Hoffnung, dass es vielleicht ein Problem ist, dass die Skripte in der falschen Reihenfolge geladen werden, aber kein Glück.
  4. Meine letzte Überlegung wäre, in die Datei jquery.contenthover.js zu schauen, um zu sehen, ob es Konflikte mit WordPress geben könnte. Wäre es weise, mit ihm zu ringen?
  5. Ich bin mir sicher, dass dieser Effekt mit Vanille und vielleicht mit etwas cleverem CSS3 gemacht werden kann, aber ich bin neu in WordPress und möchte die Details so verstehen, dass ich später benutzerdefinierte Skripte installieren kann.

Also, danke im Voraus, wenn etwas unklar ist, oder Skripte, die du gerne sehen würdest. oder vielleicht ein Live-Beispiel, lass es mich wissen. Ich würde alles schätzen, was nur ein Schritt in die richtige Richtung ist. Vielen Dank für Ihre Zeit.

Solutions Collecting From Web of "JQuery-Plugin für WordPress-Theme installieren (Incredible)"

Sie können die Skripte wie folgt laden:

 function wpa_90150_scripts() { wp_enqueue_script( 'contenthover', get_template_directory_uri() . '/js/jquery.contenthover.js', array('jquery'), '', true ); wp_enqueue_script( 'custom', get_template_directory_uri() . '/js/custom.js', array('jquery','contenthover'), '', true ); } add_action('wp_enqueue_scripts', 'wpa_90150_scripts'); 

Was ich denke, dass du es meistens richtig machst, besonders wenn sie auf deiner Seite geladen werden.

Und dann initialisiere die jQuery-Skripte wie folgt:

 jQuery(document).ready(function($) { $('.d1').contenthover({ effect:'slide', slide_speed:300, overlay_background:'#000', overlay_opacity:0.8 }); }); 

Du weißt nicht, wie lange ich gekämpft habe, um mein erstes jQuery-Skript in WordPress zu integrieren! Ich wollte all die Dinge brechen. Viele jQuery-Plugin-Dokumentation funktioniert nicht, bis Sie den WordPress-Weg gemacht haben, was ich oben gepostet habe. Öffnen Sie mit jQuery und übergeben Sie die Variable $ in die function. Grundsätzlich ist WPs jQuery bereits auf den noConflict-Modus eingestellt und Sie müssen den richtigen Wrapper verwenden.

Versuchen Sie, das folgende Format hinzuzufügen. Könnte auch alle Ihre Javascript zu einer Plugin-Datei hinzufügen, um Anfragen zu reduzieren.

 add_action( 'wp_enqueue_scripts', 'load_my_files' ); // Register some javascript files. function load_my_files() { wp_register_script( 'plugins', get_stylesheet_directory_uri() . '/js/plugins.js',array('jquery'),false,true ); wp_register_script( 'scripts', get_stylesheet_directory_uri() . '/js/script.js',array('plugins'),false,true ); wp_enqueue_script('jquery'); wp_enqueue_script( 'plugins'); wp_enqueue_script('scripts'); }