web-dev-qa-db-ja.com

Oembedが空かどうか調べる方法

私たちはメディアを埋め込むために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 ); ?>

PHPが必要→

$embedが空かどうかを調べる方法は?

要求に応じて更新→

フロントエンドは this のようになり、このようにWPカスタムループを実行することで引っ張られます。

しかし、このように this のようにOEMBEDが空の場合があります。

だから私は私たちが欲しいのはそのような状況が存在する時にループはそのポストを除外しなければならないということです、そしてそのためには、oembedが空かどうかをチェックするif conditionが必要です。

enter image description here

1
The WP Novice

wp_oembed_get() はサポートされているoEmbedプロバイダでのみ動作します。コーデックスごとに述べられているように、戻り値もfalseのURLです。

$ urlがサポートされているプロバイダへの有効なURLである場合、関数はoEmbedプロトコルから提供された埋め込みコードを返します。そうでなければ、falseを返します。

したがって、入力が空の場合、戻り値はfalseになります。そのため、単純に確認できます。

if ( $embed ) {
    // Valid
}
2
Jack Johansson

あなたの質問が本当に何であるのか、そしてあなたが何をチェックしたいのかを推測するのは少し難しいです….

$ embedが空かどうかをチェックしたい場合は、それをチェックしてください。

if ( ! trim($embed) ) {
    // it’s empty
}

$ urlが空かどうかを確認したい場合は、

if ( ! trim($url) ) {
    // it’s empty
}
1