Entfernen Sie “show sharing buttons” metabox Jetpack vom benutzerdefinierten Post-Typ

Ich habe Jetpack installiert und jetzt haben meine benutzerdefinierten Post-Typen eine Meta-Box, die “Sharing: Show sharing buttons” mit einem Kontrollkästchen anzeigt. Dies ist für diesen benutzerdefinierten Post-Typ unnötig und ich möchte ihn ganz entfernen (nicht nur über die Bildschirmoptionen ausblenden).

Ich habe versucht, hinzuzufügen

add_action( 'init', array( $this, 'my_remove_filters_func' ) ); function my_remove_filters_func() { remove_all_filters( 'the_content', 'sharing_display',19 ); remove_all_filters( 'the_excerpt', 'sharing_display',19 ); } 

aber es scheint nicht zu funktionieren

Solutions Collecting From Web of "Entfernen Sie “show sharing buttons” metabox Jetpack vom benutzerdefinierten Post-Typ"

Du kannst es versuchen

 if (is_admin()){ function my_remove_meta_boxes() { global $typenow; if( 'YOUR_CUSTOM_POST_TYPE' == $typenow ) { remove_meta_box('sharing_meta', 'YOUR_CUSTOM_POST_TYPE', 'high'); } } add_action( 'admin_menu', 'my_remove_meta_boxes' ); } 

Das entfernt die vom Jetpack-Plugin registrierte Metabox. YOUR_CUSTOM_POST_TYPE sicher, dass Sie YOUR_CUSTOM_POST_TYPE mit dem tatsächlichen Namen Ihres benutzerdefinierten Post-Typs ändern.

Ab Jetpack 3.8.0 können die Metaboxen mit einem Filter entfernt werden:

add_filter( 'sharing_meta_box_show', '__return_false' );

Auf einer benutzerdefinierten Post-Typ-Seite können Sie diese Methode verwenden:

 add_action( 'current_screen', function() { $screen = get_current_screen(); if ( ! empty( $screen->post_type ) && '%POST_TYPE%' === $screen->post_type ) { add_filter( 'sharing_meta_box_show', '__return_false' ); } }); 

Ersetzen %POST_TYPE% einfach %POST_TYPE% durch Ihren benutzerdefinierten Post-Typ.

Der Code in der akzeptierten Lösung funktionierte nicht für mich, weil admin_menu zu früh admin_menu wurde. high ist kein gültiges Argument für remove_meta_box , also habe ich stattdessen advanced verwendet.

Hier ist der aktualisierte Code:

 if ( is_admin() ){ function my_remove_meta_boxes() { global $typenow; if( 'YOUR_CUSTOM_POST_TYPE' == $typenow ) { remove_meta_box( 'sharing_meta', 'YOUR_CUSTOM_POST_TYPE', 'advanced' ); } } add_action( 'do_meta_boxes', 'my_remove_meta_boxes' ); }