4

在此处输入图像描述我试图找出我可以使用什么动作钩子/过滤器在管理员“edit.php”页面上插入内容(我想在“帖子”表上方放置一些链接)?我找到了“edit_form_after_title”和“edit_form_after_editor”(它们完全符合我的要求,但它们适用于posts.php,而不是edit.php)。

4

2 回答 2

7

在这个答案的帮助下: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>
 ';
}
?>

它看起来像这样:

于 2015-10-01T19:24:00.057 回答
3

如果您只想添加到帖子标题链接,您可以执行以下操作

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

于 2013-02-10T05:38:17.727 回答