Ich versuche, eine WordPress 4.5.3 jQuery UI-Dialog zu implementieren, aber es funktioniert nur etwa die Hälfte der Zeit. Der Rest der Zeit, die ich die folgende Fehlermeldung erhalten:jQuery-UI-Dialog - Uncaught TypeError in Wordpress
Uncaught TypeError: jQuery(...).dialog is not a function lwr_jquery_dialog.js(2)
ich die Skripte die Warteschlange eingereiht haben sich wie folgt, und überprüft sie auf der Seite in der richtigen Reihenfolge zu laden:
function enqueue_jquery_dialog() {
wp_enqueue_script('jquery-ui-dialog', false, array('jquery','jquery-ui-core'),
false, true);
wp_enqueue_script('lwr_dialog', get_stylesheet_directory_uri() .
'/js/lwr_jquery_dialog.js', array('jquery-ui-dialog'));
}
add_action('wp_enqueue_scripts', 'enqueue_jquery_dialog');
In lwr_jquery_dialog.js I hat:
jQuery(document).ready(function() {
jQuery('#dialog').dialog({
width: 600,
modal: true,
resizable: false,
draggable: false,
});
});
Und hier ist die eigentliche Dialog-Funktion in der functions.php
function add_jquery_dialog() {
?>
<div id="dialog" title="Today Only">
DIALOG TEXT HERE
</div>
<?php
}
add_action('wp_footer', 'add_jquery_dialog');
Die Hälfte der Zeit klingt wie ein Skript nicht in der richtigen Reihenfolge ist, und das passiert einfach so, um entweder das zweite Mal oder Lasten im Cache gespeichert werden just-in-time, die Sie nicht tun bemerke, dass es ein Problem beim ersten Mal ist. Überprüfen Sie die Reihenfolge Ihrer Skripts und stellen Sie sicher, dass jquery-UI nach der jQuery-Hauptbibliothek geladen wird. Wenn das nicht so ist, bleib offen, wenn du den Code noch einmal ansiehst - wenn es so etwas gibt, lass es mich wissen und ich werde eine Antwort darauf geben! – Jonathan
Haben Sie versucht, die Priorität der add_action zu ändern? – j08691
Versuchen Sie, jQuery auf $ –