当您点击页面/帖子时,如何编辑管理员中列出的页面/帖子列表的样式?

时间:2016-04-09 作者:38365

表中显示所有页面列表的一些css似乎与我的一个插件产生了负面反应,它向表中添加了一组列。我很确定这是编辑。php。至少,这是URL中的内容。

使用Chrome中的开发人员工具,我注意到该表包含一个名为fixed, 这增加了table-layout:fixed 到表格样式。删除它可以解决问题。

问题是,如何编辑此表的样式?

以下是相关代码:

<form id="posts-filter" method="get">
...
<h2 class=\'screen-reader-text\'>Pages list</h2>
<table class="wp-list-table widefat fixed striped pages">
form元素是ID为的壁橱父元素。包含类的表wp-list-table 是需要有针对性的。删除fixed 类修复了问题,至少在开发人员工具中是这样。如何删除它?

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

我安装了一个用于Chrome的Tampermonkey(用户脚本管理器),并创建了以下用户脚本:

// ==UserScript==
// @name         Fix edit.php!
// @author       You
// @match        http://www.example.com/wp-admin/edit.php*
// @grant        none
// ==/UserScript==

(function() {
    \'use strict\';

    // Your code here...

    function addGlobalStyle(css) {
        var head, style;
        head = document.getElementsByTagName(\'head\')[0];
        if (!head) { return; }
        style = document.createElement(\'style\');
        style.type = \'text/css\';
        style.innerHTML = css;
        head.appendChild(style);
    }
    addGlobalStyle(\'.fixed { table-layout:auto !important; }\');

})();
它很轻,所以根本不会减慢页面速度。据我所知,自从WP更新后,这个问题就不存在了,但我仍然有userscript以防万一。

SO网友:ashraf

我想你正在编辑。php,因此您只能为此管理页面添加样式。

function enqueue_my_scripts($hook) {
if ( \'edit.php\' != $hook ) {
    return;
    }
  //our script to remove fixed table class
 echo \'<script>\';
 echo \'$( ".wp-list-table" ).removeClass( "fixed" )\';
 echo \'</script>\';

}
add_action( \'admin_enqueue_scripts\', \'enqueue_my_scripts\' );
解释是基本的,首先我们检查是否在编辑页面,然后执行remove类。