Поддержка Плагины ACF плагин полей (ссылка на видео не работает)делает ошибку

  • Решено anuar92

    (@anuar92)


    Тут такое дело почему уже неделю поле в которое ссылку на видео добавляю что бы выводить на главной странице видео ссылкой ютуба! Туда попадает цифра 1 перед ссылкой ютуба Advance custom fields (1https://www.youtube.com/watch?v=fLNHyE4bjhQ1s:371:»a:1:{i:0;a:11:{s:2:»do»;s:1:»1″;s:9:»msgFormat»;s:0:»»;s:8:»postType»;s:1:»A»;s:9:»isAutoImg»;s:1:»A»;s:8:»imgToUse»;s:0:»»;s:9:»isAutoURL»;s:1:»A»;s:8:»urlToUse»;s:0:»»;s:8:»isPosted»;s:1:»1″;s:4:»pgID»;s:33:»1914547285486695_1930573247217432″;s:7:»postURL»;s:63:»http://www.facebook.com/1914547285486695/posts/1930573247217432″;s:5:»pDate»;s:19:»2017-09-07 08:01:41″;}}»;s:171:»a:1:{i:0;a:7:{s:2:»do»;s:1:»1″;s:9:»msgFormat»;s:0:»»;s:8:»attchImg»;s:1:»0″;s:9:»isAutoImg»;s:1:»A»;s:8:»imgToUse»;s:0:»»;s:9:»isAutoURL»;s:1:»A»;s:8:»urlToUse»;s:0:»»;}}»;?autoplay=1)) вот так выглядить ошибка эта! и не работает видео ! ПОмогите советом!

    http://gbpp.org/wp-content/uploads/1.bmp

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Модератор Юрий

    (@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(); ?>'>
    

    Спасибо вам сейчас попробую

    Я очень благодарен Вам) Спасибо большое! надеюсь вы увидите мою благодарность!

Просмотр 10 ответов — с 1 по 10 (всего 10)