我正在尝试让Wordpress的管理员帖子页面在选择特定类别(例如“精选”)时显示某种形式的输出。
像这样(原始页面):
当我选择“精选”类别(选择“精选”类别)时,我想要显示某些内容,例如:
表示页面检查是否选中了特定类别,如果是,则Wordpress会生成一个选项菜单供用户填写。
我该怎么做呢?我正在看Wordpress Codex,但到目前为止,没有骰子。
答案 0 :(得分:1)
你只需要在那个屏幕上打印一些jQuery ,然后就是收听实时更改并进行显示/隐藏操作。
以下内容来自this WPSE Answer。您必须调整元素ID。此外,jQuery的live
方法是deprecated,也会改变它。
add_action('admin_head', 'wpse_53486_script_enqueuer');
function wpse_53486_script_enqueuer() {
global $current_screen;
if ( 'post' == $current_screen->id )
{
echo <<<HTML
<script type="text/javascript">
jQuery(document).ready( function($) {
if ( $('#in-category-6').is(':checked') ) {
$("form#adv-settings label[for='myplugin_sectionid-hide']").show();
$('#myplugin_sectionid').show();
} else {
$('#myplugin_sectionid').hide();
$("form#adv-settings label[for='myplugin_sectionid-hide']").hide();
}
$('#in-category-6').live('change', function(){
if ( $(this).is(':checked') ) {
$('#myplugin_sectionid').show();
$("form#adv-settings label[for='myplugin_sectionid-hide']").show();
} else {
$('#myplugin_sectionid').hide();
$("form#adv-settings label[for='myplugin_sectionid-hide']").hide();
}
});
});
</script>
HTML;
}
}
在targeted admin pages中打印脚本的另一种方法。
答案 1 :(得分:0)
如果你希望你的功能在保存帖子后能够正常工作(这样它已经将id DB标记为此帖子所属的女巫类别),你应该使用in_category()
函数来检测这个帖子是否在您想要的类别,如果是这样 - 显示您的额外框
但是,正如我所知,你希望它在保存帖子之前也能正常工作,所以你应该使用jQuery - 检查是否选中了值x(其中x是你的类别id)的复选框,然后通过更改显示你的额外框css display
属性从none
到block
。
答案 2 :(得分:0)
这是一个wordpress插件,允许您为帖子添加其他字段,它可以按类别执行此操作。之前我曾使用它在帖子上设置背景图像以便在滑块中使用。