解决typecho搜索文章不显示关键字的bug✅

shallgoing
2024-08-08 / 0 评论 / 13 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年08月11日,已超过102天没有更新,若内容或图片失效,请留言反馈。

前言

点击分类的时候不显示关键字
“搜索到1篇与 的文章”
还挺离谱。关键字不显示。
一顿查找,找到搜索是在archive.php里面

<span>搜索到</span> 
<span class="muted"><?php echo $this->getTotal(); ?></span>
<span>篇与</span>
<span class="muted ellipsis"><?php echo $this->_keywords; ?></span>
<span>的结果</span>

关键字是空的,再一顿翻看,搜索也是,

解决问题

<span>搜索到</span> 
<span class="muted"><?php echo $this->getTotal(); ?></span>
<span>篇</span>
  • <span>搜索到</span>: 显示固定文本“搜索到”。
  • <span class="muted"><?php echo $this->getTotal(); ?></span>: 显示搜索结果或文章的总数。$this->getTotal() 是一个方法,它返回当前文章列表的总数,使用 muted 类来控制这个数字的样式。
  • <span>篇</span>: 显示固定文本“篇”,用于表示文章数量的单位。

动态生成标题

$sp = '<span class="muted ellipsis"> %s </span>';
$this->archiveTitle(array(
    'category' => '分类为' . $sp . '的文章',
    'search' => '包含关键字' . $sp . '的文章',
    'tag' => '标签为' . $sp . '的文章',
    'author' => $sp . '发布的文章'
), '', '');
  • $sp: 定义一个格式化的字符串,其中包含两个类 mutedellipsis,并在中间留有 %s 作为占位符,用于替换成分类名、关键词、标签名或作者名。
  • $this->archiveTitle(...): 根据当前的归档类型(如分类、搜索、标签或作者)动态生成标题。

    • 'category' => '分类为'.$sp.'的文章': 如果是按分类查看文章,则生成类似“分类为 [分类名] 的文章”的标题。
    • 'search' => '包含关键字'.$sp.'的文章': 如果是搜索文章,则生成类似“包含关键字 [搜索词] 的文章”的标题。
    • 'tag' => '标签为'.$sp.'的文章': 如果是按标签查看文章,则生成类似“标签为 [标签名] 的文章”的标题。
    • 'author' => $sp.'发布的文章': 如果是按作者查看文章,则生成类似“[作者名] 发布的文章”的标题。

用法示例

假设你在某个分类页面上,用户选择了“科技”分类,这段代码将生成如下内容:

<span>搜索到</span> 
<span class="muted">10</span>
<span>篇</span>
<span class="muted ellipsis"> 科技 </span>分类的文章

在这个示例中,$this->getTotal() 返回了 10,表示在“科技”分类中共有10篇文章,最终会显示为“搜索到 10 篇 科技 分类的文章”。

操作

<span>搜索到</span> 
<span class="muted"><?php echo $this->getTotal(); ?></span>
<span>篇与</span>
<span class="muted ellipsis"><?php echo $this->_keywords; ?></span>
<span>的结果</span>

替换成

<span>搜索到</span> 
<span class="muted"><?php echo $this->getTotal(); ?></span>
<span>篇</span>
           <?php
    $sp='<span class="muted ellipsis"> %s </span>';
    $this->archiveTitle(array(
        'category' => '分类为'.$sp.'的文章',
        'search' => '包含关键字'.$sp.'的文章',
        'tag' => '标签为'.$sp.'的文章',
        'author' => $sp.'发布的文章')
        , '', '');
  • muted: 可能会用较浅的颜色或更淡的文本颜色来显示数字和其他信息。
  • ellipsis: 可能用于文本溢出时添加省略号,通常用于长标题的处理。
    lzl92tat.png

快去试试吧。
文章参考GitHub用户cnhongv的提交
https://github.com/HaoOuBa/Joe/pull/91

1

评论

博主关闭了所有页面的评论