the_post_thumbnail_url() 在启用缩略图支持的情况下导致致命错误
the_post_thumbnail_url() causes fatal error with thumbnail support active
我正在研究二十三岁的 child 主题。
Twentythirteen 支持缩略图:
add_theme_support( 'post-thumbnails' );
但是当我使用时:
the_post_thumbnail_url()
我收到一个致命错误。
所有 google 答案都说 add_theme_support( 'post-thumbnails' ) 必须在 parent 主题 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;
试试这个逻辑,如果它对你有用的话:
<?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; ?>
希望这对您有用...;-)
您是否尝试过删除标记中 php 标签周围的单引号?这些似乎是解析问题的根源。
background: url(<?php the_post_thumbnail_url('large'); ?>)
在 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 的答案标记为正确答案,因为他名副其实。
您可能喜欢这个简单的函数来完成这项工作。
function getImage($id, $size){
if(has_post_thumbnail()){
return wp_get_attachment_image_src(get_post_thumbnail_id($id), $size)[0];
}
return false;
}
它检查是否有 post 缩略图,如果有则查找 post 缩略图 ID,然后使用 $size 和 wp_get_attachement_image_src 的第一部分答案(src)响应。
我能够通过以下方式检索 post 特色图片 url:
wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' );
我正在研究二十三岁的 child 主题。 Twentythirteen 支持缩略图:
add_theme_support( 'post-thumbnails' );
但是当我使用时:
the_post_thumbnail_url()
我收到一个致命错误。 所有 google 答案都说 add_theme_support( 'post-thumbnails' ) 必须在 parent 主题 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;
试试这个逻辑,如果它对你有用的话:
<?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; ?>
希望这对您有用...;-)
您是否尝试过删除标记中 php 标签周围的单引号?这些似乎是解析问题的根源。
background: url(<?php the_post_thumbnail_url('large'); ?>)
在 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 的答案标记为正确答案,因为他名副其实。
您可能喜欢这个简单的函数来完成这项工作。
function getImage($id, $size){
if(has_post_thumbnail()){
return wp_get_attachment_image_src(get_post_thumbnail_id($id), $size)[0];
}
return false;
}
它检查是否有 post 缩略图,如果有则查找 post 缩略图 ID,然后使用 $size 和 wp_get_attachement_image_src 的第一部分答案(src)响应。
我能够通过以下方式检索 post 特色图片 url:
wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' );