以下是帖子菜单下的这些子菜单项

php - 如何在管理屏幕子菜单项中添加自定义HTML类名称?-LMLPHP

我检查了代码,发现它的标记是

<ul class="wp-submenu wp-submenu-wrap">
  <li class="wp-submenu-head" aria-hidden="true">Posts</li>
  <li class="wp-first-item current"><a href="edit.php" class="wp-first-item current">All Posts</a></li>
  <li><a href="post-new.php">Add New</a></li>
  <li><a href="edit-tags.php?taxonomy=category">Categories</a></li>
  <li><a href="edit-tags.php?taxonomy=post_tag">Tags</a></li>
</ul>


我想做的是在my-custom-class标记上添加一个自定义类<li>(在服务器端处理),这样它将变成这样

<ul class="wp-submenu wp-submenu-wrap">
  <li class="wp-submenu-head" aria-hidden="true">Posts</li>
  <li class="wp-first-item current my-custom-class"><a href="edit.php" class="wp-first-item current">All Posts</a></li>
  <li class="my-custom-class"><a href="post-new.php">Add New</a></li>
  <li class="my-custom-class"><a href="edit-tags.php?taxonomy=category">Categories</a></li>
  <li class="my-custom-class"><a href="edit-tags.php?taxonomy=post_tag">Tags</a></li>
</ul>


有没有一种方法可以向管理屏幕子菜单项添加自定义HTML类名称?

最佳答案

您可以在html上执行str_replace,该操作将在页面加载之前进行:

只需确定选择器,然后使用DOMDocument进行解析

function callback($buffer) {

    $buffer = str_replace('wp-first-item', 'wp-first-item my-custom-class', $buffer);

    return $buffer;
}

function buffer_start() { ob_start("callback"); }

function buffer_end() { ob_end_flush(); }

add_action('admin_head', 'buffer_start');
add_action('admin_footer', 'buffer_end');

关于php - 如何在管理屏幕子菜单项中添加自定义HTML类名称?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43454330/

10-13 01:29