wake-up-neo.net

Filter-Dropdown in der Beitragstabelle entfernen (in diesem Fall Yoast SEO)

Ich benötige keine Yoast-SEO-Metabox für einen Beitragstyp und habe sie daher mit remove_meta_box () entfernt. Nicht benötigte Spalten in der Beitragstabelle wurden entfernt, indem Spalten mit manage_edit-custom_post_columns deaktiviert wurden. Dropdown bleibt jedoch erhalten. Gibt es eine Möglichkeit, es zu entfernen?

Natürlich ist es nicht so schwer mit jQuery umzugehen, aber vielleicht gibt es Filter oder etwas, das in WP eingebaut ist?

3
Rooo

Diese zusätzlichen Dropdowns werden über den Aktions-Hook restrict_manage_posts hinzugefügt. Dies bedeutet, dass die Dropdown-Ausgabe nicht gefiltert werden kann, Sie können jedoch die verknüpfte Aktion aus Yoast SEO entfernen.

Das Filter-Dropdown wird durch die Methode posts_filter_dropdown() in der Klasse WPSEO_Metabox hinzugefügt. Es wurde in die setup_page_analysis() -Methode derselben Klasse eingefügt, die mit Priorität 10 in admin_init eingebunden ist.

Daher möchten wir diese Aktion entfernen, um zu verhindern, dass das Dropdown-Menü angezeigt wird. Dazu können wir uns einfach mit einer Priorität von mehr als 10 in admin_init einbinden (um sicherzustellen, dass Yoast SEO bereits add_action() aufgerufen hat). Yoast SEO speichert die WPSEO_Metabox-Klasseninstanz in der globalen Variablen $wpseo_metabox, sodass wir einfach darauf zugreifen können:

add_action( 'admin_init', 'wpse151723_remove_yoast_seo_posts_filter', 20 );

function wpse151723_remove_yoast_seo_posts_filter() {
    global $wpseo_metabox;

    if ( $wpseo_metabox ) {
        remove_action( 'restrict_manage_posts', array( $wpseo_metabox, 'posts_filter_dropdown' ) );
    }
}
4
engelen

Aktualisierte Antwort für Yoast SEO Version: 7.0.2

Dadurch werden sowohl der SEO-Score-Filter als auch der Lesbarkeitsfilter von der Bearbeitungsseite der Beitragsliste in WordPress Admin entfernt.

add_action( 'admin_init', 'bb_remove_yoast_seo_admin_filters', 20 );
function bb_remove_yoast_seo_admin_filters() {
    global $wpseo_meta_columns ;
    if ( $wpseo_meta_columns  ) {
        remove_action( 'restrict_manage_posts', array( $wpseo_meta_columns , 'posts_filter_dropdown' ) );
        remove_action( 'restrict_manage_posts', array( $wpseo_meta_columns , 'posts_filter_dropdown_readability' ) );
    }
}
5
BenB

und Sie können diese Zeile zur obigen Funktion hinzufügen, um auch das Dropdown-Menü für die Lesbarkeit zu entfernen:

    remove_action( 'restrict_manage_posts', array(  $wpseo_meta_columns, 'posts_filter_dropdown_readability' ) );
1
AmiNimA