WP Adminのカテゴリとタグのアーカイブ画面で、[アーカイブの見出し]フィールドと[アーカイブのイントロテキスト]フィールドを削除するのに問題があります。
カテゴリとタグのアーカイブページには、クライアントがアーカイブの見出しと紹介文の代わりに使用する標準のタイトルと説明のフィールドがあります。混乱を避けるために、WP Admin.からArchive HeadlineとArchive Intro Textのフィールドを削除したいと思います。
Genesisフレームワークのコアファイルで、私はこのビットがcpt-archive-settings.php
にぶら下がっているのを見つけました:
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
}
私はfunctions.php
ファイルで以下のコードを試してArchive HeadlineとArchive Intro Textフィールドを削除しようとしました。カテゴリとタグアーカイブの編集画面でそれを削除する方法についてはまだ解決策を思いついていませんが、最初に基本機能から始めることにしました。
これが、 remove_action およびremove_meta_boxのWordPressコーデックスに相談した結果です。
add_action( 'admin_menu', 'remove_archive_intro_headline' );
function remove_archive_intro_headline(){
remove_meta_box( 'archive_box', 'admin_menu', 'normal' );
}
残念ながら、うまくいきませんでした。カテゴリとタグのアーカイブ編集画面でWP adminからArchive HeadlineとArchive Intro Textのフィールドを削除できるようにする別の方法はありますか。任意の助けは大歓迎です!ありがとうございました!
archive_box
のcpt-archive-settings.php
のせいではなく、genesis_taxonomy_archive_options
のgenesis/lib/admin/term-meta.php
のせいです。
あなたがそれを削除することができますあなたが次の子テーマを置くならば:
remove_action( 'admin_init', 'genesis_add_taxonomy_archive_options' );
更新:
これらの設定は、genesis_add_taxonomy_archive_options
フックにアタッチされたアクションadmin_init
が原因で現れています。
add_action( 'admin_init', 'genesis_add_taxonomy_archive_options' );
これもまたこんな感じです
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 );
}
}
だから基本的には {$taxonomy}_edit_form
にフックしています。
別の方法
以下はプラグイン/テーマで使用されていても機能します。
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 );
}
}
@Mark に感謝します。