0

これは、以下のアレックスの回答のおかげで修正されました。

だから、これは少し奇妙なものです。「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" );
}

?>

したがって、ログインしているユーザーと同じ名前のカテゴリに一致するユーザーにのみ投稿を表示することについて洞察を持っている人がいる場合は、親切に助けてくれることを願っています.

4

1 に答える 1

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
);

または、現在のユーザー関数 (ここ) を見てください。使用できる場合があります

$current_user->user_login

代わりは。var_dump($current_user)( を呼び出した後)試しglobal $current_user; get_currentuserinfo();て、必要な文字列がどの変数に含まれているかを確認することもできます

于 2012-10-16T18:25:19.180 に答える