我需要调整他们的博客模块中特色图像的显示方式。
我需要将特征图像的显示从IMG标记更改为背景图像。因此,我可以修改图像的帧(DIV),而不会扭曲图像本身。
我可以在我的子主题的默认博客页面(index.php)上这样做。查看我的网站上的任何类别页面。
我需要对优雅主题博客模块做同样的操作。
我把范围缩小到这个编辑需要用到的函数。但我不确定如何将其添加到我孩子的主题中functions.php 文件
这基本上就是代码(去掉不必要的部分):
add_shortcode( \'et_pb_blog\', \'et_pb_blog\' );
function et_pb_blog( $atts ) {
ob_start();
query_posts( $args );
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
$post_format = get_post_format();
$thumb = \'\';
$width = \'on\' === $fullwidth ? 1080 : 400;
$width = (int) apply_filters( \'et_pb_blog_image_width\', $width );
$height = \'on\' === $fullwidth ? 675 : 250;
$height = (int) apply_filters( \'et_pb_blog_image_height\', $height );
$classtext = \'on\' === $fullwidth ? \'et_pb_post_main_image\' : \'\';
$titletext = get_the_title();
$thumbnail = get_thumbnail( $width, $height, $classtext, $titletext, $titletext, false, \'Blogimage\' );
$thumb = $thumbnail["thumb"];
$no_thumb_class = \'\' === $thumb || \'off\' === $show_thumbnail ? \' et_pb_no_thumb\' : \'\';
if ( in_array( $post_format, array( \'video\', \'gallery\' ) ) ) {
$no_thumb_class = \'\';
} ?>
<article id="post-<?php the_ID(); ?>" <?php post_class( \'et_pb_post\' . $no_thumb_class ); ?>>
<?php if ( \'off\' === $fullwidth || ! in_array( $post_format, array( \'link\', \'audio\', \'quote\', \'gallery\' ) ) ) { ?>
<?php if ( ! in_array( $post_format, array( \'link\', \'audio\' ) ) ) { ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php } ?>
<?php
et_divi_post_format_content();
if ( ! in_array( $post_format, array( \'link\', \'audio\', \'quote\' ) ) ) {
if ( \'video\' === $post_format && false !== ( $first_video = et_get_first_video() ) ) :
printf(
\'<div class="et_main_video_container">
%1$s
</div>\',
$first_video
);
elseif ( \'gallery\' === $post_format ) :
et_gallery_images();
elseif ( \'\' !== $thumb && \'on\' === $show_thumbnail ) :
if ( \'on\' !== $fullwidth ) echo \'<div class="et_pb_image_container">\'; ?>
<a href="<?php the_permalink(); ?>">
<?php print_thumbnail( $thumb, $thumbnail["use_timthumb"], $titletext, $width, $height ); ?>
</a>
<?php
if ( \'on\' !== $fullwidth ) echo \'</div> <!-- .et_pb_image_container -->\';
endif;
}
}
就在包含
$thumb = $thumbnail["thumb"];
我想添加这行代码:
$feat_image = wp_get_attachment_url( get_post_thumbnail_id(/* $post->ID */) );
接下来我需要换衣服
<?php print_thumbnail( $thumb, $thumbnail["use_timthumb"], $titletext, $width, $height ); ?>
到
<div class="post-top-feat_img" title="blog-post-image" style="background: url(<?php echo $feat_image; ?>) no-repeat; background-size: cover;"></div>
同样,我不知道如何将其适当地添加到我的子主题的函数文件中。当我按照优雅主题公司的支持人员所说的去做时,我发现了这个错误。
Fatal error: 无法在中重新声明et\\u pb\\u blog()(以前在/childTheme/functions.php:310中声明)/parentTheme/functions.php 在线4026
我尝试过用几种不同的方法删除短代码,然后在我的子主题中用新代码重新添加它,但这要么会抛出相同的错误,要么会忽略它。不知道接下来该怎么办。我可以在父主题中进行此操作,但我不希望这样做。
非常感谢您的帮助。