私たちはメディアを埋め込むためにWordpressによって提供されるOembed機能をしばしば使用します。
カスタム投稿タイプから特定の投稿を取得するためにループを実行していますが、Oembedが空の投稿をスキップしたいという条件があります。
Oembedが空か、またはsingle.phpのメタにURLがあるかどうかを確認する方法。
私はこんなことをやった→
<?php $url = esc_url( get_post_meta( get_the_ID(), 'video_oembed', true ) ); ?>
<?php $embed = wp_oembed_get( $url ); ?>
$embed
が空かどうかを調べる方法は?
フロントエンドは this のようになり、このようにWPカスタムループを実行することで引っ張られます。
しかし、このように this のようにOEMBEDが空の場合があります。
だから私は私たちが欲しいのはそのような状況が存在する時にループはそのポストを除外しなければならないということです、そしてそのためには、oembedが空かどうかをチェックするif condition
が必要です。
wp_oembed_get()
はサポートされているoEmbedプロバイダでのみ動作します。コーデックスごとに述べられているように、戻り値もfalseのURLです。
$ urlがサポートされているプロバイダへの有効なURLである場合、関数はoEmbedプロトコルから提供された埋め込みコードを返します。そうでなければ、falseを返します。
したがって、入力が空の場合、戻り値はfalseになります。そのため、単純に確認できます。
if ( $embed ) {
// Valid
}
あなたの質問が本当に何であるのか、そしてあなたが何をチェックしたいのかを推測するのは少し難しいです….
$ embedが空かどうかをチェックしたい場合は、それをチェックしてください。
if ( ! trim($embed) ) {
// it’s empty
}
$ urlが空かどうかを確認したい場合は、
if ( ! trim($url) ) {
// it’s empty
}