我一直在遵循这个建议answer, 但遇到了一个小问题。。。
帖子可见性在我的自定义帖子上显示“Private”,但如果单击“Edit”链接以显示单选按钮,“Public”按钮仍处于选中状态(请参见screen shot). 因此,事实上,我的帖子一点都不是私人的,尽管它在可见性字段中说了这个词(乍一看似乎很管用)。
下面是我的代码的外观**编辑:这已更改为显示正确的代码:
// Set Updates post to private by default
add_action( \'post_submitbox_misc_actions\' , \'wpse118970_change_visibility_metabox\' );
function wpse118970_change_visibility_metabox(){
global $post;
if ($post->post_type != \'updates\')
return;
$post->post_password = \'\';
$visibility = \'private\';
$visibility_trans = __(\'Private\');
?>
<script type="text/javascript">
(function($){
try {
$(\'#post-visibility-display\').text(\'<?php echo $visibility_trans; ?>\');
$(\'#hidden-post-visibility\').val(\'<?php echo $visibility; ?>\');
} catch(err){}
}) (jQuery);
</script>
<?php
}
有什么建议吗?
*注:我把print\\r($post)注释掉了;因为它在我的页面上给了我额外的文本,我不想让我的客户看到(参见screen shot). 我还取消了显示消息的通话,因为我不想引起注意。我想我也可以删除该代码来清理它,但到目前为止还没有。
最合适的回答,由SO网友:Nicolai Grossherr 整理而成
实际上,您只需将脚本部分更改为:
<script type="text/javascript">
(function($){
try {
$(\'#post-visibility-display\').text(\'<?php echo $visibility_trans; ?>\');
$(\'#hidden-post-visibility\').val(\'<?php echo $visibility; ?>\');
$(\'#visibility-radio-<?php echo $visibility; ?>\').attr(\'checked\', true);
} catch(err){}
}) (jQuery);
</script>
您可以看到,与您的代码相比,还有一行代码。我指的是我的原稿
answer 有关更多信息,请参阅第二个元素-2。-部分答案。