[投稿] - > [カテゴリ]画面から[親]ドロップダウンメニューを非表示/無効にする方法を見つけようとしています。http://example.com/wp-admin/edit-tags.php?taxonomy=category
私はここでこの機能を通して "Slug"オプションを隠すことができました:
// Admin - Global Terms Enabled
function disable_global_terms($enablefalse) {
return 1;
}
add_filter( 'global_terms_enabled', 'disable_global_terms' );
メインのWPファイルからそのコードを削除せずにParent Drop Downメニューで同じことを実行できる方法はありますか。そのため、更新のたびに毎回実行する必要がありますか。
メインのWordPressファイルからコードを削除している場合、これはPHPファイル全体を理解することができるということです。コアファイルに触れずに、のやり方を学ぶために。
質問に示されているフックへのメモ:
フィルタglobal_terms_enabled
はMultisiteに対してのみ機能します (/wp-includes/functions.php
、行3006)
多くの場合、管理インターフェースを変更するためのフックがないため、変更はCSSまたはjQueryを使用して行う必要があります。
以下の解決策は、edit-tags.php
の特定の画面(admin_head-SCREEN-ID.php
)にスクリプトを印刷する方法を示しています。そこでは、多くのチェックを行うことができます。この場合はURLパラメータです。
add_action( 'admin_head-edit-tags.php', 'wpse_58799_remove_parent_category' );
function wpse_58799_remove_parent_category()
{
// don't run in the Tags screen
if ( 'category' != $_GET['taxonomy'] )
return;
// Screenshot_1 = New Category
// http://example.com/wp-admin/edit-tags.php?taxonomy=category
$parent = 'parent()';
// Screenshot_2 = Edit Category
// http://example.com/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=17&post_type=post
if ( isset( $_GET['action'] ) )
$parent = 'parent().parent()';
?>
<script type="text/javascript">
jQuery(document).ready(function($)
{
$('label[for=parent]').<?php echo $parent; ?>.remove();
});
</script>
<?php
}