显示与用户名匹配的类别中的帖子

时间:2012-10-16 16:52:17

标签: php wordpress

由于Alex的答案如下,这是固定的。

所以这有点奇怪。我正在设置所以我有类别" cat1,cat2,cat3"等

并说我有用户称为" cat1,cat2,cat3"所以他们匹配的类别名称相同。

然后我想以某种方式仅向用户显示与其类别相关的帖子,所以基本上如果USER:" cat1"登录后他们只能看到类别中的帖子" cat1"因为它匹配他们的用户名。

我知道你可以这样做只显示当前用户登录的帖子,但这不会像帖子被放入类别那样复杂解释。

<?php
// The Query
$args = array(
'post_status'=> '.....'
);
global $user_ID;
get_currentuserinfo();
if($user_ID) {
query_posts( $args,"author=$user_ID" );
}

&GT;

因此,如果有人对只向用户显示与用户登录名称相同的类别的帖子有任何见解,希望他们能够提供帮助。

1 个答案:

答案 0 :(得分:0)

看起来你已经开始实现这一目标。由于您已经使用用户名设置了类别,因此您应该只能将其放在查询中

//Get User -> ID -> Cat
global $current_user;
get_currentuserinfo();
$args = array(
    category_name => $current_user->ID
);  //or use $current_user->display_name if that's how they are set up.

// The Query
$the_query = new WP_Query( $args );

// The Loop
while ( $the_query->have_posts() ) : $the_query->the_post();
    //Display your loop how you want
endwhile;

// Reset Post Data
wp_reset_postdata();

修改

您是否var_dump($current_user->ID)查看它是否与类别名称匹配?来自对象的变量可能只包含一个ID(如“1”或“178”等)。如果是这种情况,你需要像

这样的东西
$the_cat_name = 'category' . $current_user->ID;
//Append your 'naming structure' to the front of the user ID

然后用

替换数组
$args = array( 
    category_name => $current_user->ID
);

或者,查看当前用户功能(here)。您可以使用

$current_user->user_login

代替。您也可以尝试var_dump($current_user)(在调用global $current_user; get_currentuserinfo();之后)并查看哪个变量包含您需要的字符串