它可以用AJAX更新管理员自定义帖子类型列表的内容

时间:2019-02-23 作者:Ezequiel Cattaneo

我在管理区有一份CPT列表。。并有两列带有复选框,用于在ajax发布/挂起状态之间切换帖子状态。。在用户单击一个复选框更改状态后,ajax是否会触发任何代码或操作来刷新CPT列表的内容,而不刷新整个页面?

提前感谢您的帮助!

enter image description here

1 个回复
最合适的回答,由SO网友:Brada 整理而成

这是一个需要修复的简单JavaScript问题。。。我将用伪代码告诉您需要做什么,因为我不知道您的HTML/JS/PHP代码是什么样子。。。如果您已经编写了AJAX JS代码,那么修改它就很容易了。

我想您应该使用JQuery AJAX对象抽象。。。因此,成功函数应该如下所示:

success: function( result ) {
    // Previous Code

    // 1. Get the HTML Node title you want to modify
    // Ex: let ctpRow = $( `#post-${post_id}`  );

    // 2. Get the HTML Node that contains the title
    // Ex: let ctpRowTitle = ctpRow.find( \'.row-title\' );


    if ( post has been enabled ) {
        // Make sure to not have any other state.
        // Ex: ctpRowTitle.find( \'.post-state\' ).remove();

        // Append the HTML Node.
        // Ex: ctpRowTitle.append( \'<span class="post-state">&nbsp;&mdash; Enabled</span>\' );
    } else {
        // Make sure to not have any other state.
        // Ex: ctpRowTitle.find( \'.post-state\' ).remove();

        // Append the HTML Node.
        // Ex: ctpRowTitle.append( \'<span class="post-state">&nbsp;&mdash; Disabled</span>\' );
    }

}
还有很多话要说。。。我不太明白你到底想做什么。。。目标行的类来自默认的WordPress“Posts”,因此您应该修改代码以匹配您的。。。这只是一个例子。。。

相关推荐

Is_user_loged_in()在AJAX验证调用中不起作用

Update: Error was a simple typo, disregard this question.我正在使用jQuery验证插件验证一些表单。当我尝试使用is_user_logged_in() 函数,我在PHP中得到以下错误:PHP致命错误:未捕获错误:对未定义函数的调用is\\u user\\u logged\\u in()我知道这是WordPress加载顺序的问题,但我不确定最好的解决方案是什么。我的代码如下所示。内部具有验证函数的类,该函数从wp_ajax 挂钩。// Class c