我正在使用WordPress帖子来构建post.is有任何插件或某些功能,当我没有为帖子选择一个类别时会发出警告。令人头疼的是我发布一个类别我错过了一段时间经过一段时间后,该类别中有很多帖子会在非类别中看到这个帖子非常头疼。
add_theme_support('menus');
**
**指上面的代码没什么,因为stack over flow不允许我
发布我的问题,因为它说标准低。**
** 提前致谢。 希望我能找到一个合适的答案
答案 0 :(得分:4)
哈...它很有趣,但你可以在你的functions.php文件中尝试如下
function force_post_categ_init()
{
wp_enqueue_script('jquery');
}
function force_post_categ()
{
echo "<script type='text/javascript'>\n";
echo "
jQuery('#publish').click(function()
{
var cats = jQuery('[id^=\"taxonomy\"]')
.find('.selectit')
.find('input');
category_selected=false;
for (counter=0; counter<cats.length; counter++)
{
if (cats.get(counter).checked==true)
{
category_selected=true;
break;
}
}
if(category_selected==false)
{
alert('You have not selected any category for the post. Please select post category.');
setTimeout(\"jQuery('#ajax-loading').css('visibility', 'hidden');\", 100);
jQuery('[id^=\"taxonomy\"]').find('.tabs-panel').css('background', '#F96');
setTimeout(\"jQuery('#publish').removeClass('button-primary-disabled');\", 100);
return false;
}
});
";
echo "</script>\n";
}
add_action('admin_init', 'force_post_categ_init');
add_action('edit_form_advanced', 'force_post_categ');
NOte: - 必须启用javascript才能运行此
答案 1 :(得分:1)
我建议使用jQuery对象读取输入的真实值,因为可以在页面上加载检查值,然后可以取消检查并保存输入。这使用jQuery对象.is('checked')
方法:
function force_post_categ()
{
$custom_js = <<<CUSTOM_JS
<script type='text/javascript'>
jQuery('#publish').click(function()
{
var cats = jQuery('[id^="taxonomy"]').find('.selectit').find('input');
category_selected = false;
$.each(cats, function(key,value){
if ( $(this).is(':checked') == true ) {
category_selected = true;
return false;
}
});
if (category_selected == false)
{
alert('You have not selected any metro or country for the post. Please select a metro.');
setTimeout("jQuery('#ajax-loading').css('visibility', 'hidden');", 100);
jQuery('[id^="taxonomy"]').find('.tabs-panel').css('background', '#F96');
setTimeout("jQuery('#publish').removeClass('button-primary-disabled');", 100);
return false;
}
});
</script>
CUSTOM_JS;
echo $custom_js;
}