Отображение Видео На Главной Странице Через Настраиваемое Поле Внутри Php-Виджета

  • Автор темы Dgubadze
  • Обновлено
  • 21, Oct 2024
  • #1

Я пытаюсь отобразить видео внутри виджета, который вызывается из настраиваемого поля внутри сообщения. Код, который я использую, находится здесь:

 <?php query_posts('cat=8&showposts=1'.get_option('posts_per_page')); ?>
<?php if(have_posts()) : while(have_posts()) : the_post(); ?><?php if( get_post_meta($post->ID, "youtube", true) ): ?>

<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Клуб W: <?php the_title(); ?>"><?php the_title(); ?></a></h2>

<iframe width="250" height="199" src="http://www.youtube.com/embed/<?php echo get_post_meta($post->ID, "youtube", true); ?>?rel=0" frameborder="0" allowfullscreen></iframe>

<?php else: ?>

Video can not be displayed.

<?php endif; ?>

<?php endwhile; endif; ?>

<?php echo get_post_meta($post->ID, "youtube", true); ?>    
 

Я создал сообщение в категории 8 (видео), ввел заголовок, добавил настраиваемое поле (youtube) с правильным кодом для URL-адреса для отображения видео.

Когда я загружаю страницу, все виджеты отображают сообщение «Видео не может быть отображено», оно не использует заголовок сообщения, и я не могу заставить его даже отображать запись настраиваемого поля.

Есть идеи относительно того, что происходит? Пользовательский виджет PHP, который я использую, http://wordpress.org/extend/plugins/php-code-widget/

Заранее спасибо.

Конечно, если у кого-то есть лучший способ сделать то, чего я пытаюсь достичь, это тоже будет здорово :)

#настраиваемое поле #видео

Dgubadze


Рег
09 May, 2007

Тем
78

Постов
190

Баллов
600
  • 25, Oct 2024
  • #2

 
 <?php $my_query = new WP_Query('cat=8&showposts=1');
while ($my_query->have_posts()) : $my_query->the_post(); 

$video = get_post_custom_values($key = 'youtube');?>

<?php if(isset($video[0]) && strcmp($video[0],'')!= 0)  {?>

<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Клуб W: <?php the_title(); ?>"><?php the_title(); ?></a></h2>

<iframe width="250" height="199" src="http://www.youtube.com/embed/<?php echo $video[0]; ?>?rel=0" frameborder="0" allowfullscreen></iframe>

<?php } else {
echo 'Did not add a video URL to the custom field <strong> Key</strong> of "Video"';
echo '<!-- This user did not add the video URL to the correct custom field -->';
} 
?>

<?php endwhile; ?>
 
is for modifying the main loop only, if you're doing additional queries outside of or within the main loop, create a new WP_Query пример.

также- я не уверен, почему у тебя есть <?php $youtube_post = get_post($my_id); ?> <h2><a href="<?php echo get_permalink( $youtube_post->ID ); ?>" rel="bookmark" title="Клуб W: <?php echo get_the_title($youtube_post->ID); ?>"><?php echo get_the_title($youtube_post->ID); ?></a></h2> <iframe width="250" height="199" src="http://www.youtube.com/embed/<?php echo get_post_meta($youtube_post->ID, "youtube", true); ?>?rel=0" frameborder="0" allowfullscreen></iframe> and then showposts=110 сразу после. Если например posts_per_page was set to 10, that string would evaluate to get_option('posts_per_page')

 

Vladir


Рег
09 Nov, 2004

Тем
84

Постов
220

Баллов
690
  • 25, Oct 2024
  • #3

Я вас не совсем понял, но если вы говорите, что сохраняете настраиваемое поле в конкретном сообщении, вы можете использовать get_post().

showposts=1

Просто замените $my_id идентификатором сообщения, которое вы можете получить, однако, если вы просто показываете статическое видео, лучшим решением будет использование специального виджета видео, в который вы можете поместить заголовок и URL-адрес видео, а класс WP Embed выполнит всю работу. работа.

 

Abapassellefs12


Рег
26 Mar, 2008

Тем
80

Постов
185

Баллов
595
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно