The WordPress Codex solutions weren't working for me regardless of what parameters I used or the priorities set, probably because my setup is pretty complex or as others have commented. The first chunk of code may work for you but I don't have a default environment at the moment to test. The second chunk of code definitely worked for me. The last chunk of code removes the option from the post's quick edit as well.
You will still need to disable the functionality as you have done.
Wordpress Codex solution, (hooks into add_meta_boxes so it fires last, but you can use admin_menu or do_meta_boxes instead).
Documentation Here
function remove_trackbacks_pingbacks() {
remove_meta_box('trackbacksdiv', 'post', 'normal');
}
add_action('add_meta_boxes', 'remove_trackbacks_pingbacks');
This may be overkill, but this is what actually worked for me. Note that it will remove the option in the box from displaying everywhere, including pages too. It also allows you to customize the HTML as well just in case you wanted to add a note to tell the user that Pingbacks and Trackbacks have been disabled. (this may or may not suit your needs, but here it is anyway). Documentation 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);
Lastly, since you want to remove the option from your edit screen, I assume you may want to remove from the quick edit screen as well. There are no hooks or classes to hook into that I know of, so a pure jQuery solution is in order. Insert into functions.php
Modified from this solution 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
}