web-dev-qa-db-ja.com

このコードの何が問題になっていますか

function themeperauthor_need_switch() {
    global $post;
  if ( $get_post_type == 'weblogs' )  {
    return get_the_author_meta('themeperauthor', $user->ID);
  }
  return "";
}

何も返さない

2
puanthanh

関数tryの代わりにget_post_typeを変数として使用しています。

function themeperauthor_need_switch() {
    global $post;
  if ( get_post_type($post) == 'weblogs' )  {
    return get_the_author_meta('themeperauthor', $user->ID);
  }
  return "";
}
1
Bainternet

こんにちは@ puanthanh:

はじめに$userは範囲外です。しかし、詳細をほとんど説明していないので、値を割り当てる方法を提案する方法がわかりません。詳細を追加して質問を更新しますか?

0
MikeSchinkel

あなたが何を目指しているのか本当によくわからないが、多分..

function themeperauthor_need_switch() {
    global $post
    //, $current_user;
    if( !isset( $post->post_type ) )
        return '';
    if ( $post->post_type == 'weblogs' )
        return get_the_author_meta( 'themeperauthor', 
            $post->post_author
            //$current_user->ID
        );
    return '';
}

投稿者に基づいてメタを取得したいとしますが、それが実際に必要なものであれば現在のユーザー用に切り替えることができます(コード内に1行おきに残してコメントアウトします)。

注:$current_userを使用する場合は、最初にユーザーがログインしていることを確認する必要があります。if( is_user_logged_in() )または同様の..

0
t31os