it-swarm.com.de

Entfernen Sie die Felder Archiv-Überschrift und Archiv-Intro-Text auf den Archivseiten für Kategorien und Tags in WordPress Admin mit Genesis-Framework

Ich habe derzeit ein kleines Problem mit dem Entfernen der Felder "Archiv-Überschrift" und "Archiv-Intro-Text" im Bildschirm "Kategorie- und Tag-Archiv" in WP Admin.

 Image of the Category Archive Settings - Archive Headline and Archive Intro Text 

Auf den Archivseiten für Kategorien und Tags befinden sich die Standardfelder für Titel und Beschreibung, die der Client anstelle der Archivüberschrift und des Intro-Texts verwendet. Um Verwirrung zu vermeiden, möchte ich die Felder "Archive Headline" und "Archive Intro Text" aus "WP Admin" entfernen.

In den Genesis-Framework-Kerndateien habe ich dieses Bit in cpt-archive-settings.php gefunden:

public function archive_box() {
    ?>
    <p><?php printf( __( 'View the <a href="%s">%s archive</a>.', 'genesis' ), get_post_type_archive_link( $this->post_type->name ), $this->post_type->name ); ?></p>

    <table class="form-table">
    <tbody>

        <tr valign="top">
            <th scope="row"><label for="<?php $this->field_id( 'headline' ); ?>"><b><?php _e( 'Archive Headline', 'genesis' ); ?></b></label></th>
            <td>
                <p><input class="large-text" type="text" name="<?php $this->field_name( 'headline' ); ?>" id="<?php $this->field_id( 'headline' ); ?>" value="<?php echo esc_attr( $this->get_field_value( 'headline' ) ); ?>" /></p>
                <p class="description"><?php _e( 'Leave empty if you do not want to display a headline.', 'genesis' ); ?></p>
            </td>
        </tr>

        <tr valign="top">
            <th scope="row"><label for="<?php $this->field_id( 'intro_text' ); ?>"><b><?php _e( 'Archive Intro Text', 'genesis' ); ?></b></label></th>
            <td>
                <?php wp_editor( $this->get_field_value( 'intro_text' ), $this->settings_field . "-intro-text", array( 'textarea_name' => $this->get_field_name( 'intro_text' ) ) ); ?>
                <p class="description"><?php _e( 'Leave empty if you do not want to display any intro text.', 'genesis' ); ?></p>
            </td>
        </tr>

    </tbody>
    </table>

    <?php
}

Ich habe versucht, den folgenden Code in meiner functions.php-Datei zu verwenden, um zu versuchen, die Felder "Archive Headline" und "Archive Intro Text" zu entfernen. Ich habe noch keine Lösung gefunden, wie man sie in den Kategorien- und Tag-Archiv-Bearbeitungsbildschirmen entfernt, aber ich dachte, ich würde zuerst mit der Grundfunktion beginnen.

Folgendes habe ich nach Absprache mit dem WordPress-Codex für remove_action sowie remove_meta_box erhalten:

add_action( 'admin_menu', 'remove_archive_intro_headline' );
function remove_archive_intro_headline(){
    remove_meta_box( 'archive_box', 'admin_menu', 'normal' );
}

Leider hat es nicht geklappt. Gibt es eine andere Methode, mit der ich die Felder "Archiv-Überschrift" und "Archiv-Intro-Text" in den Bearbeitungsbildschirmen "Kategorie" und "Tag-Archiv" aus "WP admin" entfernen kann? Jede Hilfe wäre sehr dankbar! Vielen Dank!

2
Melinda

Es liegt nicht am archive_box in cpt-archive-settings.php, sondern am genesis_taxonomy_archive_options in genesis/lib/admin/term-meta.php.

Sie können es mit entfernen, wenn Sie Folgendes in das untergeordnete Thema einfügen:

remove_action( 'admin_init', 'genesis_add_taxonomy_archive_options' );

Update:

Diese Einstellungen werden aufgrund der Aktion genesis_add_taxonomy_archive_options angezeigt, die an admin_init hook angehängt ist.

add_action( 'admin_init', 'genesis_add_taxonomy_archive_options' );

Was wiederum so ist

function genesis_add_taxonomy_archive_options() {

  foreach ( get_taxonomies( array( 'public' => true ) ) as $tax_name ) {
        add_action( $tax_name . '_edit_form', 'genesis_taxonomy_archive_options', 10, 2 );
    }

}

Also im Grunde ist es Hooking zu {$taxonomy}_edit_form .

Ein anderer Weg

Das Folgende funktioniert auch, wenn es im Plugin/Theme verwendet wird.

add_action( 'admin_init', 'wpse_add_taxonomy_archive_options', 11 );

function wpse_add_taxonomy_archive_options() {

    foreach ( get_taxonomies( array( 'public' => true ) ) as $tax_name ) {
        remove_action( $tax_name . '_edit_form', 'genesis_taxonomy_archive_options', 10, 2 );
    }

}

Vielen Dank an @Mark .

2
bravokeyl