2016-05-10 5 views
3

Я работаю над детской темой с двадцатьнадцатого. Twentythirteen имеет поддержку Фро эскизы:the_post_thumbnail_url() вызывает фатальную ошибку при поддержке эскизов

add_theme_support('post-thumbnails'); 

Но когда я использую:

the_post_thumbnail_url() 

Я получаю фатальную ошибку. Все ответы в google говорят, что add_theme_support ('post-thumbnails') должен быть в родительской теме functions.php, ну, в этом случае он есть, но я все равно получаю фатальную ошибку.

Я даже дублировал предложение поддержки в child functions.php (на всякий случай), но все еще в этом проблема.

Код:

 query_posts('category_name=curso&showposts=3'); 
     ?> 
     <?php if (have_posts()) : ?> 
     <h2>Cursos</h2> 
     <?php while (have_posts()) : the_post(); ?> 
      <div class = "ficha curso"> 
     <?php 
       if (has_post_thumbnail() && ! post_password_required()) : ?> 
        <div class="ficha-thumbnail" style = "background: url('<?php the_post_thumbnail_url('large'); ?>') no-repeat; background-size: 300px auto"></div> 
        <?php endif; ?> 

        <h3 class="ficha-title"><?php the_title(); ?></h3> 


       <div class="ficha-resumen"> 
        <?php the_excerpt(); ?> 
       </div><!-- .entry-content --> 
      </div> 
     <?php endwhile; endif; 
+0

Можете ли вы вставить точную ошибку, которую вы получаете? –

+0

Звонок на неопределенную функцию the_post_thumbnail_url() – user997593

ответ

1

Попробуйте эту логику, если он делает что-то для вас:

 <?php 
      if (has_post_thumbnail() && ! post_password_required()) : 
       $imgURL = wp_get_attachment_url(get_post_thumbnail_id(get_the_ID())); 
     ?> 
       <div class="ficha-thumbnail" style = "background: url('<?php echo $imgURL; ?>') no-repeat; background-size: 300px auto"></div> 
       <?php endif; ?> 

Надеется, что это делает трюк для вас ... ;-)

+0

Привет, Poiz! Сообщение имеет миниатюру, и has_post_thumbnail возвращает его. Это странная вещь, так как функция получения эскиза эскизов не работает, и это нужно. – user997593

+0

OK .... Не могли бы вы ** прокомментировать IF-предложение, связанное с миниатюрой **, чтобы увидеть, что другие данные, такие как ** the_title(), the_excerpt() ** завершают ...? Другими словами; *** без миниатюры, нормально ли отображается Title и Excerpt? *** – Poiz

+0

Да, все отлично. Боюсь, что это будет глупая ошибка, в которую я попадаю, но не могу понять. – user997593

0

У вас попытался удалить одинарные кавычки вокруг php-тегов в вашей разметке? Похоже, что это источник проблемы синтаксического анализа.

background: url(<?php the_post_thumbnail_url('large'); ?>) 
+0

Привет, Ewa, это, похоже, не влияет на синтаксический анализ, а не на условия моего сервера. Спасибо, в любом случае! – user997593

1

С отличной помощью Poiz я наконец нашел решение. Тот, который он предложил, работает, но мне нужно было получить большой эскиз, а не привязанность. Это делает трюк для меня:

<? 
if (has_post_thumbnail() && ! post_password_required()) : 
$imgURL = the_post_thumbnail(get_the_ID(), 'large'); 
preg_match('/src="([^"]+)/i',$imgURL, $src); 
?> 
<div class="ficha-thumbnail" style = "background: url('<?php echo $src; ?>') no-repeat; background-size: 300px auto"> 

Я отметит Poiz ответ как правильный один, как он заслуживает репутацию.

0

Вам может понравиться эта простая функция, чтобы выполнить эту работу.

function getImage($id, $size){ 
    if(has_post_thumbnail()){ 
     return wp_get_attachment_image_src(get_post_thumbnail_id($id), $size)[0]; 
    } 
    return false; 
} 

Он проверяет, есть ли после эскиз, если он смотрит на пост эскизов ID, а затем с помощью $ размер и первую часть wp_get_attachement_image_src по ответу (СРК) в ответ.

Смежные вопросы