私は素晴らしい Pods プラグインを使用して、Wordpress の基本的なコンテンツ タイプをいくつかのカスタム タイプで拡張しています。高度なカスタム タイプを作成しました。つまり、ネイティブのページ/投稿タイプに組み込まれた自動 oEmbed サポートが得られません。カスタム コンテンツ タイプに PHP ページ テンプレートを使用するポッド ページがあり、ビデオを埋め込むことができる WYISWYG フィールドで oEmbed オプションが有効になっているように構成しました。
基本的な関数が埋め込みを自動的に処理する必要があることを示しているように見えるこの投稿を見つけましたが、それapply_filter
を機能させることができないようです。私はフィルターに少し慣れていません。私が試したコードは以下のとおりです。
<?php
// Fetch body field content from $pods object
$mycontent = $pods->field('field_body');
$output = apply_filters('oembed_dataparse', $mycontent);
echo $output;
?>
などのさまざまなフィルターを試しましたthe_content
が、どれも機能していないようです。iFrame 埋め込みコード全体をテンプレートに書き込んでも機能せず、空の iFrame しか表示されないため、Pod ページのスコーピング/競合の問題である可能性があると思います。グローバル oembed 関数は同じことを行います。
$videourl = 'http://www.youtube.com/watch?v=dQw4w9WgXcQ';
$htmlcode = wp_oembed_get($videourl);
echo $htmlcode;
ページ テンプレートのコンテキストでは、次のように出力されます。
<iframe width="500" height="375" frameborder="0" allowfullscreen="" src="http://www.youtube.com/embed/dQw4w9WgXcQ?feature=oembed">
<html>
<head>
</head>
<body>
</body>
</html>
</iframe>