Модератор
Юрій
(@yube)
Покажите код, которым выводе поле на странице.
<section id=»video»>
<div class=»container_24″>
<?php
if (qtrans_getLanguage() == ‘en’) {
echo ‘<h4>Video</h4>’;
} elseif (qtrans_getLanguage() == ‘kz’) {
echo ‘<h4>Видео</h4>’;
} else {
echo ‘<h4>Видео</h4>’;}
?>
<? video_content();?>
</div>
</section>
<?php
if (qtrans_getLanguage() == ‘en’) {
echo ‘All video‘;
} elseif (qtrans_getLanguage() == ‘kz’) {
echo ‘Барлық видео‘;
} else {
echo ‘Все видео‘;}
?>
//Meta значение
function the_mymeta() {
if ( $keys = get_post_custom_keys() ) {
echo «»;
foreach ( (array) $keys as $key ) {
$keyt = trim($key);
if ( is_protected_meta( $keyt, ‘post’ ) )
continue;
$values = array_map(‘trim’, get_post_custom_values($key));
$value = implode($values,’, ‘);
/**
* Filter the HTML output of the li element in the post custom fields list.
*
* @since 2.2.0
*
* @param string $html The HTML output for the li element.
* @param string $key Meta key.
* @param string $value Meta value.
*/
echo apply_filters( ‘the_meta_key’, «$value», $key, $value );
}
echo «»;
}
}
function video_content(){
$blog_query = ‘showposts=5&cat=5’;
$my_query = new WP_Query( $blog_query );
echo «<div class=\»allvideo\»>»;
if ( $my_query->have_posts() ) {
while ( $my_query->have_posts() ) {
//$my_query->the_post();
//$cat = get_the_category();
//$cat = $cat[0];
$my_query->the_post();
$i++
?>
<div class=’videocontent <?php if ($i == 1) echo ‘first’; ?>’>
<div class=’mvcontent’>
<?php if (has_post_thumbnail()): ?>
<div align=»center» class=»img-video <?php if ($i == 1) echo ‘first’; ?>»>
?autoplay=1′ style=»background:none;» class=»fancybox-youtube» title='<? the_title_attribute(); ?>’>
<div class=»dosvideoplay <?php if ($i == 1) echo ‘first’; ?>»></div>
<?php the_post_thumbnail(); ?>
</div>
<?php endif ?>
</div>
</div>
<?
}
}
echo «</div>»;
wp_reset_postdata();
}
Модератор
Юрій
(@yube)
Если бы Вы воспользовались кнопочкой code
, можно было бы читать код. К сожалению, _такое_ «форматирование» понять очень трудно, почти невозможно.
И я просил показать код, который выводит поле, а не весь шаблон, в котором, кажется, нужного кода вообще нет.
<section id="video">
<div class="container_24">
<?php
if (qtrans_getLanguage() == 'en') {
echo '<h4>Video</h4>';
} elseif (qtrans_getLanguage() == 'kz') {
echo '<h4>Видео</h4>';
} else {
echo '<h4>Видео</h4>';}
?>
<? video_content();?>
</div>
</section>
<?php
if (qtrans_getLanguage() == 'en') {
echo '<a class="allnewslink" href="http://gbpp.org/en/category/media-center/multimedia">All video</a>';
} elseif (qtrans_getLanguage() == 'kz') {
echo '<a class="allnewslink" href="http://gbpp.org/kz/category/media-center/multimedia">Барлық видео</a>';
} else {
echo '<a class="allnewslink" href="http://gbpp.org/category/media-center/multimedia">Все видео</a>';}
?>
Вот это на главную страницу выводит
А плагин ACF админке при добавление записи поле для ссылки на видео задает которое на главной должно в фенсибоксе открывать видео ютуба
Модератор
Юрій
(@yube)
<? video_content();?>
— вот это?
Могу ошибаться, но это не функция ACF. Для вывода значения поля в ACF используется функция the_field()
. Если функция video_content()
определена где-то в Теме, покажите.
Кстати, не советую пользоваться коротким тегом <?
. Во избежание неприятных сюрпризов используйте только длинный <?php
.
//Meta значение
function the_mymeta() {
if ( $keys = get_post_custom_keys() ) {
echo "";
foreach ( (array) $keys as $key ) {
$keyt = trim($key);
if ( is_protected_meta( $keyt, 'post' ) )
continue;
$values = array_map('trim', get_post_custom_values($key));
$value = implode($values,', ');
/**
* Filter the HTML output of the li element in the post custom fields list.
*
* @since 2.2.0
*
* @param string $html The HTML output for the li element.
* @param string $key Meta key.
* @param string $value Meta value.
*/
echo apply_filters( 'the_meta_key', "$value", $key, $value );
}
echo "";
}
}
function video_content(){
$blog_query = 'showposts=5&cat=5';
$my_query = new WP_Query( $blog_query );
echo "<div class=\"allvideo\">";
if ( $my_query->have_posts() ) {
while ( $my_query->have_posts() ) {
//$my_query->the_post();
//$cat = get_the_category();
//$cat = $cat[0];
$my_query->the_post();
$i++
?>
<div class='videocontent <?php if ($i == 1) echo 'first'; ?>'>
<div class='mvcontent'>
<?php if (has_post_thumbnail()): ?>
<div align="center" class="img-video <?php if ($i == 1) echo 'first'; ?>">
<a href='<?php the_mymeta(); ?>?autoplay=1' style="background:none;" class="fancybox-youtube" title='<? the_title_attribute(); ?>'>
<div class="dosvideoplay <?php if ($i == 1) echo 'first'; ?>"></div>
<?php the_post_thumbnail(); ?>
</a>
</div>
<?php endif ?>
</div>
</div>
}
}
echo "</div>";
wp_reset_postdata();
}
в function.php в папке темы находиться
Модератор
Юрій
(@yube)
Насколько я понял, the_mymeta() выводит все метаданные записи, а не одно конкретное поле. Судя по комментариям, они выводились списком, но это место изменили, и получилось одной сплошной бестолковой строкой.
Я думаю, надо изменить строку
<a href='<?php the_mymeta(); ?>?autoplay=1' style="background:none;" class="fancybox-youtube" title='<? the_title_attribute(); ?>'>
на
<a href='<?php the_field('ИМЯ_ПОЛЯ_С_ВИДЕО'); ?>?autoplay=1' style="background:none;" class="fancybox-youtube" title='<?php the_title_attribute(); ?>'>
Спасибо вам сейчас попробую
Я очень благодарен Вам) Спасибо большое! надеюсь вы увидите мою благодарность!