如何仅获取用户的已发布/待处理帖子状态(Wordpress和PHP)

时间:2017-10-03 23:58:34

标签: php wordpress

在一句话中:当一个免费用户试图编辑他发布的帖子时,我想使用“获取帖子状态”进行发布或待处理,这样我就可以隐藏一些div。

我的编码技巧非常基础,但我正在使用Wordpress网站,人们可以在其中创建自定义帖子。

有两种类型的会员资格:免费或高级会员。我试图阻止免费会员在帖子发布或待决(如果可能)后编辑帖子的特定部分。他们可以在草稿时进行编辑或有溢价。

注意用户通过我创建的特定页面(id = 6)而不是通过wp后端创建帖子可能很重要。

现在,以下代码似乎适用于已发布和草稿帖子。我希望代码仅适用于用户发布或待处理的帖子。

以下是我尝试使用的代码:

<?php if (($usermeta['_checkbox_premium_user'][0] != "yes") && ($_GET['edit'] == 'true') && ( get_post_status ( $ID ) == 'publish' )) { ?>

<div class="mydiv">content to show</div> <?php } else { ?>   <div class="mydiv2">content to hide</div> <?php } ?>

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

我明白了:

<?php if (($usermeta['_checkbox_premium_user'][0] != "yes") && ($_GET['edit'] == 'true') && (get_post_status ( $_GET['pid'] ) == 'publish')) { ?>

答案 1 :(得分:0)

用户可以查看待处理的wordpress

   function allow_pending_listings($qry) {
        $status = get_post_status ( $_GET['eid'] );
        if(is_user_logged_in()){
        $edit_data = get_post($_GET['eid']);    
         if (!is_admin() && $edit_data->post_author == $userdata->ID && $status !='publish' ) {
        $qry->set('post_status', array('publish','pending','draft'));
         }
        }
    }
    add_action('pre_get_posts','allow_pending_listings');