0

我正在尝试构建一个查询来显示成员可以访问的最新帖子,但我找不到要添加的参数,以便他们将来可以访问的帖子从此列表中删除。

有谁知道如何做到这一点?

如果没有,可以wc_memberships_is_post_content_restricted( )改编成自定义循环吗?

编辑 我尝试添加建议的代码,但不是获取用户可以访问的最新帖子,而是输出网站上最旧的页面。我是否将其添加到错误的位置?

`<?php
    // Query Test
    $args = array(
      'post_type' => 'premium',
      'posts_per_page' => 1,
      'tax_query' => array(
            array(
                'taxonomy' => 'notebook',
                'field' => 'term_id',
                'terms' => 425,
            ),
        ),
      );
    $query4 = new WP_Query( $args );
    if ( $query4->have_posts() ) {
    // The Loop
    while ( $query4->have_posts() ) {
    $query4->the_post();

    foreach ( $posts as $post ) {
    if( !wc_memberships_is_post_content_restricted($post->ID)){

      echo the_title();
    }
    }
    } wp_reset_postdata(); } ?>`
4

2 回答 2

1

要删除受限制的帖子标题,请在“设置”->“内容限制模式”上选择“完全隐藏”。

如果您选择“隐藏内容”,帖子标题将继续显示在帖子导航和列表中。

一旦我这样做了,两个循环(我的和 mujuonly 的)都起作用了。

于 2020-07-21T01:05:20.907 回答
0
foreach ( $posts as $post ) {
    if( wc_memberships_is_post_content_restricted($post->ID)){
        // do the coding here for the restricted contents
    }else{
        // do the coding here for the non-restricted contents
    }
}

试试这个代码

于 2020-05-07T18:46:13.447 回答