質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • PHP

    23486questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    8722questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

  • 関数

    255questions

    関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

wordpressのカスタムフィールドの「関連」の使い方で

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 308

musashidayo

score 27

wordpressのプラグインACFの関連の使い方で、

フィールド名 'kanren' に10個の投稿を入れていて、フィールド名'iiyo'にも10個投稿を入れています。どちらも属性は関連です

<ul>
        <?php
            $page = get_page_by_path('iiyo');
            $my_ranking = get_field('iiyo',$page->ID);
            if ( $my_ranking ) {
            $number = 1;
            global $wpdb;
            global $rateAvg;            
        ?>
        <?php 
            foreach($my_ranking as $value){
                //繰り返し回数による判定
                if ( $number >= 11){
                break; 
                }
                setup_postdata($value);
        ?>
            <?php
                $ID = $value->ID;                    
                $rateQuery = "
                                SELECT
                                    AVG(meta_all.meta_value) AS avg
                                FROM
                                    (
                                        SELECT
                                            meta.meta_value
                                        FROM
                                            (
                                                SELECT
                                                    comment_ID,
                                                    comment_post_ID
                                                FROM
                                                    wp_comments
                                                WHERE
                                                    comment_approved = 1
                                                    AND
                                                        comment_post_ID = ".$ID."
                                            ) comment,
                                            (
                                                SELECT
                                                    comment_ID,
                                                    meta_value
                                                FROM
                                                    wp_commentmeta
                                                WHERE
                                                    meta_value is not null
                                            ) meta
                                        WHERE
                                            comment.comment_ID = meta.comment_ID
                                    ) meta_all;
                            ";
                $rateAvg = $wpdb->get_results($rateQuery);
            ?>
            <li>

              <!--ここにもし'kanren'にこの投稿が入っていたら何番目かを表示したい-->

            <?php wp_reset_postdata(); ?>
            <?php 
                $number++; //繰り返された回数を1つづずカウント
        }
    }
?>
            </li> 
    </ul>


フィールド('iiyo')からループで投稿を表示しているのですが、この中の投稿で、もし他の関連(今回は'kanren')に入っているものがあれば上から見て'kanren'の上から何番目かというものが表示できればよいのですが、いい案が思いつきません。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

0

'iiyo'に入っているpost毎に'kanren'のpostからforeachでpostIDを取ってきて、IDが合致した所で番号をechoしたら解決できました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • PHP

    23486questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    8722questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

  • 関数

    255questions

    関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。