我正在为客户端自定义WordPress安装的后端,并且我添加了几种自定义帖子类型。它们通过一页内的自定义循环显示在前端,因此用户不应访问各个自定义帖子。
为帮助确保他们不会被意外访问,我已删除了永久链接选择框,其中包含查看帖子按钮。我想在添加新员工旁边的页面顶部添加 View Post 链接。 (如果不可能,我会决定拦截并替换添加新员工按钮)
我正在寻找一个WordPress挂钩将按钮放在那里,但我还没找到任何东西。我找到的最接近的是 WP Core 博客上的帖子(引用edit_form_advanced
,edit_form_after_editor
,edit_form_after_title
),但列出的所有内容都不会为此工作。
我想添加的按钮将是这个PHP:
<a class="add-new-h2" href="<?php echo $displaypage.get_the_title($post_ID); ?>">View <?php echo $posttype; ?></a>
$displaypage
符合'/about-us/our-people/#'
实际上,我需要帮助的是找到一种方法将其挂钩。我知道在找到如何添加它后要添加的内容。
修改:
我知道我可以使用javascript插入按钮,而根本不需要使用钩子。我想尽可能避免这种情况,例如,对于禁用JS的人的边缘情况,以及连接速度非常慢的人(jQuery在页面完全加载之前不会激活,所以它会...在那种情况下最后闪光。)
答案 0 :(得分:5)
我在WP Core的帖子中没有引用found one hook,似乎是唯一一个最接近所需位置的帖子:
问题是Add New (post type)
包含在<h2>
标记(line 365 of the same file)中,并且挂钩发生在它之后。
add_action( 'edit_form_top', 'top_form_edit' );
function top_form_edit( $post ) {
if( 'portfolio' == $post->post_type )
echo "<a href='#' id='my-custom-header-link'>$post->post_type</a>";
}
剩下的唯一选择是使用jQuery操作DOM:
add_action( 'admin_head-post.php', 'manipulate_dom' );
add_action( 'admin_head-post-new.php', 'manipulate_dom' );
function manipulate_dom()
{
// Not our post type, exit earlier
// Adjust post type
if( 'portfolio' != get_current_screen()->post_type )
return;
?>
<script type="text/javascript">
jQuery(document).ready( function($)
{
// your thing
// $('#my-custom-header-link').moveAround();
});
</script>
<?php
}
答案 1 :(得分:2)
遇到同样的问题,我使用的解决方案如下:
使用CSS隐藏现有标题,如下所示:
permit = Range("C" & iCounter).Value