无论我使用了什么参数或设置了什么优先级,WordPress Codex解决方案都不适用于我,可能是因为我的设置非常复杂,或者正如其他人所评论的那样。第一段代码可能对您有用,但我目前没有一个默认的测试环境。第二段代码肯定对我有用。最后一段代码也从帖子的快速编辑中删除了该选项。
您仍需要像之前那样禁用该功能。
Wordpress Codex解决方案,(挂接到add\\u meta\\u框中,以便最后触发,但您可以使用admin\\u菜单或do\\u meta\\u框)文档Here
function remove_trackbacks_pingbacks() {
remove_meta_box(\'trackbacksdiv\', \'post\', \'normal\');
}
add_action(\'add_meta_boxes\', \'remove_trackbacks_pingbacks\');
这可能有点过头了,但这才是真正对我有用的。请注意,它将删除框中的选项,使其不显示任何地方,包括页面。它还允许您自定义HTML,以防您想添加注释,告诉用户pingback和trackback已被禁用
(这可能适合您的需要,也可能不适合您的需要,但无论如何,它就在这里)文档
Here function remove_trackbacks_pingbacks ($post_type, $post) {
global $wp_meta_boxes, $current_screen;
# Remove "ping_status" from `commentstatusdiv`:
$wp_meta_boxes[$current_screen->id][\'normal\'][\'core\'][\'commentstatusdiv\'][\'callback\'] = function($post) {
?>
<input name="advanced_view" type="hidden" value="1">
<p class="meta-options">
<label for="comment_status" class="selectit">
<input id="comment_status" name="comment_status" type="checkbox" value="open" <?php checked($post->comment_status, \'open\'); ?>> Allow comments?
</label>
<?php do_action(\'post_comment_status_meta_box-options\', $post); ?>
</p>
<?php
};
}
add_action(\'add_meta_boxes\', \'remove_trackbacks_pingbacks\', 10, 2);
最后,由于您希望从编辑屏幕中删除该选项,因此我假设您可能也希望从快速编辑屏幕中删除该选项。据我所知,没有可以钩住的钩子或类,因此纯jQuery解决方案是合适的。插入函数。php
从此解决方案中修改Here
add_action( \'admin_head-edit.php\', \'remove_pings_quickedit\' );
function remove_pings_quickedit()
{
global $current_screen;
if( \'edit-post\' != $current_screen->id )
return;
?>
<script type="text/javascript">
jQuery(document).ready( function($) {
$(\'span:contains("Allow Pings")\').each(function (i) {
$(this).remove();
});
$(\'input[name=ping_status]\').each(function (i) {
$(this).remove();
});
});
</script>
<?php
}