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

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

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

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

Q&A

解決済

1回答

380閲覧

Wordpress 記事取得時の条件分岐

worker

総合スコア19

WordPress

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

0グッド

0クリップ

投稿2019/03/06 07:39

Wordpressでやりたいこと

以下の条件に該当する記事の、最新5件の記事タイトル・messageの値を取得したいです。
・カスタム投稿タイプ「sample」
・カスタムフィールド「message」が入力されている

考えたこと

次のようなコードを書きましたが、当然ですがmessageに入力がない場合でも取得されてしまいます。

php

1<?php 2 $args = array( 3 'numberposts' => 5, //表示する記事数 4 'post_type' => 'sample' //カスタム投稿タイプ 5 ); 6 $posts = get_posts( $args ); 7 if( $posts ) : foreach( $posts as $post ) : setup_postdata( $post ); 8?> 9 <li>タイトル:<?php the_title(); ?></li> 10 <li>メッセージ:<?php echo get_field('message') ?></li> 11<?php 12 endforeach; ?> 13 else : //記事が無い 14?> 15 <li>該当の記事がありません。</li> 16<?php 17 endif; 18 wp_reset_postdata(); 19?>

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

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

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

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

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

guest

回答1

0

ベストアンサー

カスタムフィールドが空欄ではないという条件であれば 、get_posts の $args の post_type の後に下記のような meta_query を追加するとどうなるでしょうか?

'meta_query' => array(array( 'key' => 'message', 'value' => '', 'compare' => '!=' ))

投稿2019/03/06 08:07

CHERRY

総合スコア25171

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

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

worker

2019/03/07 07:15

そういった書き方があるのは知りませんでした。 うまく行きました。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問