サポート » 使い方全般 » authorページで表示されているユーザーの全記事IDを取得・表示したい

  • 解決済 luckythings

    (@luckythings)


    authorページで表示さているユーザーの全記事IDを取得してカンマ区切りで表示させたいと思っています。

    カンマで区切ったIDは下記の●●●の部分(PHP内)にて表示させたいのですが方法を教えて頂けますと幸いです。

    <?php echo GeoMashup::map(‘obect_name=post&object_ids=●●●’) ?>

    例:取得したIDが 210,566,998 だった場合、下記のように表示したい
    <?php echo GeoMashup::map(‘obect_name=post&object_ids=210,566,998’) ?>

    どうぞよろしくお願いします。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • こんにちは、

    author.phpで、以下のように取得できます。

    $args = array(
        'author'         =>  $current_user->ID,
        'posts_per_page' => -1,
        'post_status'    => 'publish',
        );
    $user_posts = get_posts( $args );    //取得
    
    $user_ids = '';
    foreach ($user_posts as $obj) {
    	$user_ids .= $obj->ID. ', '; //カンマ区切り
    }
    
    $user_ids = trim( $user_ids , ', '); //ごみ取り
    
    var_dump( $user_ids );
    <?php echo GeoMashup::map('obect_name=post&object_ids=210,566,998') ?>

    この結果は、どんなものになるのかよかったら教えてください

    トピック投稿者 luckythings

    (@luckythings)

    ご回答頂きましてありがとうございました!

    説明不足で申し訳ありません。

    表示したい場所はauthor.phpではなく、archive.phpで、authorの記事一覧が表示されている時になります。

    ちなみに頂いたコードを一旦貼り付けてみましたところ、下記エラーが出てしまいました。

    Parse error: syntax error, unexpected ‘}’ in ・・・以下エラーの出たファイルURL

    よろしくお願いします。

    archive.phpで、authorの記事一覧が表示されている時になります。

    これだけだと、ちょっとわかりません。

    プラグインを使っているとか、テーマにコードを追加しているとかしているとか、
    コードもいろんな書き方があるので、それを提示していただけますか?

    提示したコードは、簡単ではありますが、動作確認済みです。

    貼り付けたコードを、提示していただけば、何かわかるかもしれないですが、、、

    トピック投稿者 luckythings

    (@luckythings)

    度々すみません!ありがとうございました。
    私の理解不足で恐縮です。

    下記コードを貼り付けてみましたところ、

    <?php
    $args = array(
        'author'         =>  $displayed_user->ID,
        'posts_per_page' => -1,
        'post_status'    => 'publish',
        );
    $user_posts = get_posts( $args );
    $user_ids = '';
    foreach ($user_posts as $obj) {
    	$user_ids .= $obj->ID. ',';
    }
    $user_ids = trim( $user_ids , ',');
    var_dump( $user_ids );
    ?>
    <?php echo $user_ids; ?>

    上で書いたエラーではなく下記のように表示されました。

    string(15) “804,677,566,560” 804,677,566,560

    ここで二つ問題点があるのですが、
    1、数字とカンマだけを表示したいのですが、string(15)や”が表示されたり、記事IDが2回繰り返されたりしています。
    2、上記の出力は現在ログインしているユーザーの投稿した記事IDが表示されており、authorページに表示されているユーザーのものとは異なっております。

    私のホームページでは複数のユーザーが投稿できるようになっており、表示されているユーザーごとに記事IDを表示したいと思っています。

    かなり希望する内容に近いところまで来ており感謝しております。
    どうぞもう少しだけお付き合い頂けますと嬉しいです。
    よろしくお願い致します。

    トピック投稿者 luckythings

    (@luckythings)

    度々すみません。
    教えて頂いたコードを参考に下記コードに修正してみましたら、現在表示されているユーザーの記事ID取得までは出来ました。

    しかし、String(15)や記事IDが””で囲われて2回繰り返し表示されてしまうところは変わりません。

    <?php
    $user_id = get_the_author_meta('id');
    $args = array(
        'author'         =>  $user_id,
        'posts_per_page' => -1,
        'post_status'    => 'publish',
        );
    $user_posts = get_posts( $args );
    $user_ids = '';
    foreach ($user_posts as $obj) {
    	$user_ids .= $obj->ID. ',';
    }
    $user_ids = trim( $user_ids , ',');
    var_dump( $user_ids );
    ?>
    <?php echo $user_ids; ?>

    あともう少しで解決できそうなのですが、どうぞご教示頂けますと幸いです。

    よろしくお願いします。

    モデレーター gatespace

    (@gatespace)

    var_dump( $user_ids );<?php echo $user_ids; ?>
    はあくまで $user_ids に目的の値が入ってるからの確認用でしょうから、削除して、
    自分の最終的に使いたいコードと組み合わせればいいのでは?

    var_dump

    トピック投稿者 luckythings

    (@luckythings)

    ありがとうございます!
    <?php echo $user_ids; ?>
    は自分で確認用の為に追加したものだったのですが、
    var_dump( $user_ids ); が何なのか理解していませんでした。

    目的の値が入っている事が正しく確認できました。
    こちらでこのトピックを解決済みにさせて頂きます。

    ご協力ありがとうございました。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「authorページで表示されているユーザーの全記事IDを取得・表示したい」には新たに返信することはできません。