在edit.php上禁用inline_dit()

时间:2014-01-20 作者:Adrian B

在课堂上WP_Posts_List_Table 有一个名为inline_edit() 它负责呈现在上使用(但最初隐藏)的整个快速编辑表wp-admin/edit.php.

我想prevent 该表无法呈现,因为我正在处理的站点有数千个类别术语,它们都作为带有复选框的列表项添加到此快速编辑表中。它使edit.php 巨大而缓慢的加载(在某些情况下,一些jQuery插件甚至会使一些浏览器暂停)。

我没有找到任何方法,在WP_Posts_List_Table, 阻止呈现此表。也没有办法edit.php 呼叫$wp_list_table->inline_edit(); 在最后。有什么(合适的)方法来实现我的目标吗?当然,没有黑客核心。

(我知道如何使用禁用帖子行中的快速编辑链接post_row_actions 过滤器,但仍在渲染和发送巨大的表edit.php.)

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

我也从来没有找到过过滤器,但有一个检查是否允许分类法显示其UI。所以我以前在我的一个插件中所做的就是调整$wp_taxonomies “编辑”页面上的全局变量。

/**
 * Disable the UI for categories, but only on EDIT screen
 * which prevents them from appearing in quick edit
 */
add_action( \'load-edit.php\', \'wpa_130501_disable_ui\' );

function wpa_130501_disable_ui(){
    global $wp_taxonomies;
    $wp_taxonomies[\'category\']->show_ui = FALSE;
}
在未来的更新中,快速编辑部分需要大量的支持。

SO网友:passatgt

有一段时间也有同样的问题,我用一个过滤器来更改term\\u列表,以便在编辑时删除所有复选框。php页面。首先,您可以删除以下链接:

    function remove_quick_edit( $actions ) {
        unset($actions[\'inline hide-if-no-js\']);
        return $actions;
    }
    add_filter(\'post_row_actions\',\'remove_quick_edit\',10,1);
这只会删除链接,但实际的类别选择器仍在源代码中。。。

    add_filter(\'wp_terms_checklist_args\', \'remove_terms_from_list\', \'\', 2);
    function remove_terms_from_list( $args, $post_id){
        global $pagenow, $typenow;
        if ($pagenow == \'edit.php\' && $typenow == \'post-type-name\' || $pagenow == \'nav-menus.php\') {
            $args[\'walker\'] = new wiki_remove_tax_quickedit;
            $args[\'taxonomy\'] = \' \';
        }
        return $args;
    }

    class wiki_remove_tax_quickedit extends Walker {
        var $tree_type = \'category\';
        var $db_fields = array (\'parent\' => \'parent\', \'id\' => \'term_id\');

        function start_lvl( &$output, $depth = 0, $args = array() ) {
                $indent = str_repeat("\\t", $depth);
                $output .= "$indent<ul class=\'children\'>\\n";
        }

        function end_lvl( &$output, $depth = 0, $args = array() ) {
                $indent = str_repeat("\\t", $depth);
                $output .= "$indent</ul>\\n";
        }

        function start_el( &$output, $category, $depth, $args, $id = 0 ) {

        }
    }
(将帖子类型名称更改为您的帖子类型);

结束

相关推荐

从QUERY_POSTS切换到wp_Query,分页不再起作用

将静态首页上的循环从query\\u posts切换到wp\\u query。除分页链接(以前正常工作)外,其他所有链接都正常工作。示例可现场查看here 在“工作”部分。这是我的循环: <?php $paged = (get_query_var(\'page\')) ? get_query_var(\'page\') : 1; $args = array(\'category_name\'=>\'portfolio\',\'posts_per_pag