默认情况下是否将自定义帖子类型可见性设置为私有,并将单选按钮也设置为“Private”

时间:2013-12-05 作者:jen_f

我一直在遵循这个建议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). 我还取消了显示消息的通话,因为我不想引起注意。我想我也可以删除该代码来清理它,但到目前为止还没有。

1 个回复
最合适的回答,由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。-部分答案。

结束

相关推荐

qTranslate in functions.php

我有一个将用户重定向到特定页面的功能:wp_redirect(\'http://address/page\'); 通常我只会使用:<?php _e(\"<!--:en-->english permalink<!--:--><!--:de-->german permalink<!--:-->\"); ?> 但这是特定的情况,我不能这样使用它。。。你知道怎么做吗?谢谢