BEGIN 主题搜索结果页面添加标题图片

发布于 2022-08-04

BEGIN 主题搜索结果页面添加标题图片

BEGIN 主题可以给文章分类页面、独立页面以及文章详情页面添加标题图片,但是在搜索结果页面及 404 页面却无法通过配置添加标题图片,本文简单分享一下给搜索结果页面和 404 页面添加标题图片,以及批量给文章页面添加标题图片的实现方法。

给搜索页面添加标题图片

给搜索结果页面、标签页面及 404 页面添加标题图片,可以通过修改源码的形式实现。

1、实现方法

编辑 header-slider.php,位置:wp-content/themes/begin/template/header-slider.php,在最末端最后一行下面添加:

<?php if ( is_search() || is_tag() || is_404() ) { ?>
<div class="header-sub">
    <div class="cat-des wow fadeInUp">
        <div class="cat-des-img">
            <img src="https://oss.pieruo.com/2020/07/07/iHRs.jpg" />
        </div>
        <div class="header-title-main bgt">
            <h1 class="header-title bgt wow fadeInUp">
                <?php 
                    if(is_search()) {
                        echo '搜索结果';
                    }elseif (is_tag()) {
                        echo single_tag_title('', false);
                    }elseif (is_404()) {
                        echo '亲,你迷路了';
                    }else {
                        echo '';
                    }
                ?>
            </h1>
        </div>
        <div class="clear"></div>
    </div>
</div>
<?php }?>

2、效果预览

预览效果如下:

给文章添加标题图片

文章标题图片可以在文章编辑页面添加,那么,如何批量给文章添加标题图片的方式呢?

思路:给文章批量添加标题图片,需要先确认哪些文章已添加标题图片,如果有的话可以先删除,然后通过 SQL 语句批量添加。

1、查询

查询已添加标题图片的文章:

select * from wp_postmeta m where m.meta_key = 'header_bg'
and m.post_id in (
    SELECT t.id from wp_posts t where t.post_type = 'post' and t.post_status = 'publish'
)
# limit 100

建议添加 limit 语句, 防止查询的数据量过大。

2、删除

删除已经存在的文章标题图片:

delete from wp_postmeta m where m.meta_key = 'header_bg'
and m.post_id in (
    SELECT t.id from wp_posts t where t.post_type = 'post' and t.post_status = 'publish'
)

3、批量添加

确认文章都没有标题图片后,给文章批量添加标题图片:

INSERT INTO wp_postmeta
(post_id, meta_key, meta_value)
SELECT 
t.id, 'header_bg', 'https://oss.pieruo.com/2020/07/07/iHRs.jpg' 
from wp_posts t where t.post_type = 'post' and t.post_status = 'publish'

4、效果预览

效果如下:

5、文章标题及面包屑不显示解决方法

给文章添加标题图片后,会发现正文部分不显示文章标题和面包屑,因为文章标题和面包屑默认是在标题图片位置显示的。

a、显示文章标题

编辑 content.php,位置:wp-content/themes/begin/template/content.php,查找:

<?php if ( get_post_meta($post->ID, 'header_img', true) || get_post_meta($post->ID, 'header_bg', true) ) { ?>
<?php } else { ?>
    <?php if ( get_post_meta($post->ID, 'mark', true) ) { ?>
        <?php the_title( '<h1 class="entry-title">', '<span class="t-mark">' . $mark = get_post_meta($post->ID, 'mark', true) . '</span></h1>' ); ?>
    <?php } else { ?>
        <?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
    <?php } ?>
<?php } ?>

修改为:

<?php if ( get_post_meta($post->ID, 'mark', true) ) { ?>
    <?php the_title( '<h1 class="entry-title">', '<span class="t-mark">' . $mark = get_post_meta($post->ID, 'mark', true) . '</span></h1>' ); ?>
<?php } else { ?>
    <?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
<?php } ?>

b、显示面包屑

同样,查找:

<?php if ( ! get_post_meta($post->ID, 'header_img', true) && !get_post_meta($post->ID, 'header_bg', true)  ) : ?>
    <?php if (zm_get_option('meta_b')) {
        begin_single_meta();
    } else {
        begin_entry_meta();
    } ?>
<?php endif; ?>

修改为:

<?php if ( ! get_post_meta($post->ID, 'header_img', true) && !get_post_meta($post->ID, 'header_bg', true)  ) { ?>
    <?php if (zm_get_option('meta_b')) {
        begin_single_meta();
    } else {
        begin_entry_meta();
    } ?>
<?php } else { ?>
    <?php if (zm_get_option('meta_b')) {
        begin_single_meta();
    } else {
        begin_entry_meta();
    } ?>
<?php }?>

3、效果预览

效果如下:

结束语

本文简单分享了一下给搜索结果页面和 404 页面添加标题图片,以及批量给文章页面添加标题图片的实现方法,供有此需求的朋友参考。如果有任何意见或建议,欢迎在下方评论处留言。

喜欢 0
奋楫笃行,臻于至善!

相关文章

WordPress 文章评论设置分页按时间倒序排序

WordPress 评论默认是按发布的时间顺序排列的,如果我们想按照时间倒序排列,可以根据本文的方法修改。 1、修改comment-template.php 编辑文件 wp-includes/comm...
阅读全文

BEGIN 主题最新文章页面添加加载更多按钮

使用 Begin 主题的博主可能都发现过这样一个问题:如果设置杂志布局,博客页面(本站叫最新文章)是不显示加载更多按钮图标的,而其他所有带分页的页面都显示。如果不显示加载更多按钮图标的话,我们就只能通...
阅读全文

使用 LetterAvatar 脚本生成首字图片替代默认评论头像

Gravatar 是全球通用头像,如果我们没有设置 Gravatar 头像,那么在网站上留言或评论就会显示默认的头像或者随机头像,这样的话用户体验不是很好。今天为大家分享一下使用 LetterAvat...
阅读全文

WordPress 文章链接地址 ID 不连续解决方法

Wordpress 默认情况下发布的文章 ID 不是连续的,是因为 Wordpress 自动草稿、文章修订版、页面、菜单、媒体等功能都要占用 ID,所以发布的文章 ID 一般是不连续的。今天为大家分享...
阅读全文

使用 iconfont 阿里矢量图标为网站添加图标的方法

Iconfont 是一个开源的矢量图标管理平台,它的图标库非常丰富,大概有一百三十多万个。Iconfont 可以按照需求定制图标字体库,还能随时修改,最重要的字体图标库只有 100 多 K。今天就来为...
阅读全文

外链图片缩略图不显示解决方法 A TimThumb error has occured

使用 timthumb 可以轻松实现缩略图自动裁剪的功能,但是由于某些原因,使用 timthumb 裁剪图片经常会出现缩略图无法正常显示的现象,错误提示为“A TimThumb error has o...
阅读全文

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注