如何向子菜单页面添加样式?

时间:2021-08-26 作者:Vitor Rodrigues

我对WordPress比较陌生,我正在创建这个插件,我需要一个子菜单页。我已经成功地创建了主页,并在其中添加了CSS,没有任何问题。然而,我最近需要一个子菜单页。我用过add_submenu_page 创建该页面,效果很好。据我所知,我可以向该页面添加任意多的内容,这也不会成为问题。当我尝试向该页面添加样式时,问题开始了。我想我只需要向元素添加类和ID,然后在主菜单页面上使用的CSS文件中编写它们各自的样式代码。我使用以下代码将样式表排队:

function load_entry_scripts($hook)
{
    if ($hook != \'toplevel_page_edit-dict-entry\') {
        return;
    }

    wp_enqueue_style(\'my-plugin\', plugins_url(\'styles/styles.css\', __FILE__));
    wp_enqueue_script(\'my-plugin\', plugins_url(\'js/entry-edit-plugin.js\', __FILE__), array(), \'1.0.0\', true);
}
add_action(\'admin_enqueue_scripts\', \'load_entry_scripts\');
同样,此代码适用于主页。最后,我需要做什么才能将样式添加到子菜单页?

附:我也尝试过一些替代方法,比如专门为子菜单页创建样式表,但也没有成功。

1 个回复
SO网友:Antti Koskinen

一种选择是检查$hook 并查看它是否匹配父菜单页或任何子菜单页段塞。

function load_entry_scripts($hook)
{
    $hook_parts = explode(\'_page_\', $hook);
    $menu_slug = array_pop($hook_parts);
    
    if ( ! in_array( $menu_slug, array(\'my-parent-page-slug\', \'my-child-page-slug\') ) ) {
        return;
    }

  // add styles && scripts
}

相关推荐

更改wp-admin/plugins.php上统计的插件数量

我已成功地使用从插件页面隐藏我的插件$wp_list_table 然而,顶部的分页仍然将插件列为“所有(3)”等。我成功地改变了$wp_list_table 的数组_pagination_args = total_items.但它仍然在页面顶部呈现插件-“全部(3)”。有什么办法可以解决这个问题吗?我找到了WP_Plugins_List_Table::prepare_items()具有全局$totals 变量,但我不确定我将如何改变这一点,在这个函数中$totals = array(); fore