2013-03-25 6 views
0

Я использую фантастический плагин Pods, чтобы расширить базовые типы контента Wordpress несколькими пользовательскими. Я создал расширенный настраиваемый тип, что означает, что я не получаю автоматическую поддержку oEmbed, встроенную в собственные типы страниц/сообщений. Я структурировал его таким образом, чтобы у моего пользовательского типа содержимого была страница pod с использованием шаблона страницы PHP, и у меня есть опция oEmbed для моих полей WYISWYG, которые могут вставлять видео.Wordpress (Pods) oEmbed Items

Я нашел this post, что указывает на то, что базовая функция 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 и другие, но никто, казалось, не работать. Я полагаю, что это может быть проблема с определением/конфликтом с страницами Pod, поскольку даже запись всего кода вставки iFrame в шаблон не будет работать, а только отображает пустой iFrame. Глобальная функция 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> 

ответ

0

Вызов apply_filters('oembed_dataparse', $mycontent) неправильно, поскольку это означало, чтобы добавить функциональные возможности для обработки других типов данных (фото , видео и т. д.) по умолчанию не обслуживаются. То, что вы хотите сделать, это подражать тому, как WordPress делает вложение. Я не проверял код ниже, но мне кажется, способ идти о запуске функции встраивания:

global $wp_embed; 

$mycontent = $pods->field('field_body'); 

$output = $wp_embed->autoembed($mycontent); 

echo $output; 
+0

Спасибо, но я думаю, что изображение может быть как визуализируется страница стручка. Normal Youtube '