WordPress管理中的Jquery UI对话框

1aaf6o9v  于 2023-04-20  发布在  WordPress
关注(0)|答案(4)|浏览(235)

我试图在我的WordPress主题管理页面中使用jQuery UI对话框脚本。一切都是直接从UI演示,但我最终得到了一个对话框,对话框没有弹出任何东西,而是埋在底角,就在关闭body标签之前。
UI对话框脚本被正确地排队w/ wp_enqueue_script,因为它在源代码中显示为jquery(来自google API)和UI核心。

jQuery(document).ready(function($) {
    $("#dialog").dialog();
}); //end onload stuff

然后我在我的选项页面中有这个:

<div id="dialog" title="Basic dialog">
<p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p>
</div>
w1jd8yoj

w1jd8yoj1#

你应该准备好了。WP已经有了对话框和样式。
以下是使用它的步骤:
1.编写用于创建对话框的jQuery-必须使用wp-dialogdialogClass
1.使用正确的依赖项(jquery-ui-dialog)将上述文件入队到init
1.入队正确的WP样式(wp-jquery-ui-dialog
例如:

// custom.js
jQuery(function($) {
    var $info = $("#modal-content");
    $info.dialog({                   
        'dialogClass'   : 'wp-dialog',           
        'modal'         : true,
        'autoOpen'      : false, 
        'closeOnEscape' : true,      
        'buttons'       : {
            "Close": function() {
                $(this).dialog('close');
            }
        }
    });
    $("#open-modal").click(function(event) {
        event.preventDefault();
        $info.dialog('open');
    });
});

在PHP中

add_action( 'admin_enqueue_scripts', 'queue_my_admin_scripts');

function queue_my_admin_scripts() {
    wp_enqueue_script (  'my-spiffy-miodal' ,       // handle
                        URL_TO_THE_JS_FILE  ,       // source
                        array('jquery-ui-dialog')); // dependencies
    // A style available in WP               
    wp_enqueue_style (  'wp-jquery-ui-dialog');
}
9bfwbjaz

9bfwbjaz2#

我设法使用以下代码显示对话框(但没有应用样式!):

add_action('init', 'myplugin_load');

function myplugin_load(){
    wp_enqueue_script( 'jquery' );
    wp_enqueue_script( 'jquery-ui-core' );
    wp_enqueue_script( 'jquery-ui-dialog' );
}

调用时使用:

$("#dialog-view").dialog({
   height: 240,
   modal: true
});
l2osamch

l2osamch3#

我不知道这是否会有什么不同(因为我现在不适合做任何测试),但也许可以按照jQuery UI站点上的代码来尝试:

$(function() {
   $("#dialog").dialog();
});

祝你好运!

afdcj2ne

afdcj2ne4#

第一步:添加脚本:

wp_enqueue_script( 'jquery-ui-dialog' );// in your function.php or plugin

第二步:创建对话框:

<div id="dialog-content" style="display:none;" class="dialog-content"> <div style="padding:100px;text-align:center;">Your Custom Content </div></div>

创建一个隐藏的内容框。这样你就可以把它显示为一个对话框。最后给一个按钮附加一个点击事件来调用这个对话框。

第三步:调用对话框:

//attach a click event then call the dialog 
  $('#dialog-calling-btn').click(function () {

    $("#dialog-content").dialog({
      'dialogClass': 'wp-dialog email-quote-box',
      'title': 'Title',
      'modal': true,
      'autoOpen': true,
      'closeOnEscape': true,
      'height': 500,
      'width': 360
    });
  })

相关问题