私はデフォルトのカテゴリの特定の用語を常に選択させるための関数を書くことを試みています。
ユーザーが新しい投稿を書いているとき、チェックボックスという用語はチェックされるべきであり、彼はそれをアンチェックすることができないはずです。
出来ますか?
これはjQueryを使って行うことができます。
この例では、既存の投稿を編集するとき(admin_head-post.php
)と新しい投稿を書くとき(admin_head-post-new.php
)に修飾子が表示されます。
このフックは投稿、ページ、カスタム投稿タイプで機能するため、正しい投稿タイプを確認するための条件があります。
[最もよく使われる]タブは非表示になっています。そのタブのカテゴリに対処するには、識別子#in-popular-category-CAT_ID
を使用します。
add_action( 'admin_head-post-new.php', 'wpse_72603_default_categories' );
add_action( 'admin_head-post.php', 'wpse_72603_default_categories' );
function wpse_72603_default_categories()
{
global $current_screen;
// If not our post type, do nothing
if( 'post' != $current_screen->post_type )
return;
?>
<script language="javascript" type="text/javascript">
jQuery(document).ready(function($)
{
// Hide the "Most used" tab
$('#category-tabs .hide-if-no-js').remove();
// Tick the checkboxes of categories 3 and 9
$('#in-category-3, #in-category-9').attr('checked', true);
// Disable the clicks in categories 3 and 9
$('#in-category-3, #in-category-9, #in-popular-category-9')
.click(function() { return false; });
});
</script>
<?php
}
興味のあるプラグイン: カテゴリチェックリストツリー 。
投稿編集画面で、投稿を保存すると、チェックしたカテゴリが一番上に表示され、カテゴリ階層が壊れていることがわかります。このプラグインはその「機能」を削除します。
私はjQueryを使ってカテゴリを選択するためにこのスクリプトを使いました。
wp-admin/post-new.php
の内側
$category_name_check = "My Category Name";
echo "<script type=\"text/javascript\">";
echo "jQuery( \"label:contains('$category_name_check') > input\" ).attr('checked', true)";
echo "</script>";
ここで$category_name_check
はチェックするカテゴリの名前です。