Wordpress:将内容添加到 edit.php
Posted
技术标签:
【中文标题】Wordpress:将内容添加到 edit.php【英文标题】:Wordpress: Add content to edit.php 【发布时间】:2013-01-25 12:54:09 【问题描述】:我正在尝试找出我可以使用什么动作挂钩/过滤器在管理员“edit.php”页面上插入内容(我想在“帖子”表上方放置一些链接)?我找到了“edit_form_after_title”和“edit_form_after_editor”(它们完全符合我的要求,但它们适用于posts.php,而不是edit.php)。
【问题讨论】:
【参考方案1】:借助这个答案:How do you create a custom edit.php / edit pages page
我想出了这个:
<?php
# Called only in /wp-admin/edit.php pages
add_action( 'load-edit.php', function()
add_filter( 'views_edit-talk', 'talk_tabs' ); // talk is my custom post type
);
# echo the tabs
function talk_tabs()
echo '
<h2 class="nav-tab-wrapper">
<a class="nav-tab" href="admin.php?page=guests">Profiles</a>
<a class="nav-tab nav-tab-active" href="edit.php?post_type=talk">Talks</a>
<a class="nav-tab" href="edit.php?post_type=offer">Offers</a>
</h2>
';
?>
它看起来像这样:
【讨论】:
完美答案谢谢!知道如何使用 edit-tags.php 对分类页面执行此操作吗? 也许这会有所帮助? wordpress.stackexchange.com/questions/242633/… 这太棒了,花了很多谷歌才找到这个。 这段代码对我有用,但是用talk_tabs
中回显的任何内容替换了状态导航。我能够保持状态导航原样并通过回显附加文本在其上方添加文本,然后返回传递给过滤器的内容以开始 - 满足 OP 的初始请求。这是执行此操作的代码:function talk_tabs ($pre_filter_content) echo '<p>Some additional text at the top of the page</p>'; return $pre_filter_content;
【参考方案2】:
如果你只是想添加到帖子标题链接,你可以这样做
if (is_admin())
add_filter('the_title', function($title)
return $before_title . $title . $after_title;
);
但是,听起来您不想在标题链接中添加文本。
要在标题之后和操作链接之前添加 html,您可以这样做
if (is_admin())
add_filter('post_row_actions', function($args)
// echo your custom content here
return $args; // and dont forget to return the actions
);
还有page_row_actions
用于页面编辑屏幕(post_row_actions
仅用于帖子)
至于在标题之前添加内容,我没有看到一个钩子/过滤器来做到这一点。如果您想自己寻找,请参阅wp-admin/class-wp-posts-list-table.php
第 463 行 function single_row
。
【讨论】:
谢谢!我添加了一个屏幕截图,向您展示我在寻找什么。我会看看那些页面! @Rob - 你有// echo your custom content here
- 这会在列表中的每一行/帖子中回显文本。我认为这不是 OP 所要求的。以上是关于Wordpress:将内容添加到 edit.php的主要内容,如果未能解决你的问题,请参考以下文章