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

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

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

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

Q&A

解決済

2回答

2030閲覧

【WordPress】カスタムフィールドの値に指定されたIDの記事をループさせたい

gieumm

総合スコア17

WordPress

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

0グッド

0クリップ

投稿2017/07/14 02:16

記事IDを入れるためのカスタムフィールドを設置して、そのIDに該当する記事のみのループを作りたいと思っています。
フィールドに入れるIDは複数ある場合は、半角カンマで区切るようにしています。
たとえば、記事IDが1と2の記事をループさせたい場合、
1,2
と入力してもらいます。

これをループに代入して表示させようとしましたが、1番目に入力したIDの記事のみが表示されます。
これを複数IDのループにできる方法がおわかりになれば、教えていただけますでしょうか。

下記のように記載したところ、1番目の記事だけの表示となります。

PHP

1<?php 2$sample_id = get_post_meta($post->ID, 'sampleid', true); 3$args = array( 4'post__in' => array( $sample_id ) , 5); 6$the_query = new WP_Query( $args ); 7if ( $the_query->have_posts() ) : 8while ( $the_query->have_posts() ) : $the_query->the_post(); ?> 9 10<p><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></p> 11 12<?php endwhile;endif; ?>

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

$sample_id1,2 が入っているなら分割してしまえばよいのでは。

PHP

1$args = array( 2'post__in' => explode( ',' $sample_id ) , 3);

【explode - 文字列を文字列により分割する】
http://phpspot.net/php/man/php/function.explode.html

投稿2017/07/14 02:28

kei344

総合スコア69400

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gieumm

2017/07/14 03:05

早速の回答ありがとうございます! 分割できる関数があることを初めて知りました。
guest

0

以下のように変更して解決しました。
ありがとうございました!

PHP

1$args = array( 2'post__in' => explode( ',' , $sample_id ) , 3);

投稿2017/07/14 03:06

gieumm

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問