0WordPress的标志奥秘 3 主题: 全文和摘录

我一直在想如何在主页上显示完整的帖子, 和所有档案的摘录大约 3 天。这很好,因为这意味着每篇文章都有相当数量的显示在首页上, 而存档页面包含每个帖子的更简洁的摘要。这对人类都更好, 也为了 - 我的存档页面现在没有来自我的主页的重复内容!

我终于提出了一个解决方案。不是特别优雅, 但我已经达到了我的极限 PHP 知识只是为了实现这个方法。这特别适用于 Mystique 3 主题, 其他主题可能会有所不同, 尽管其中一些信息可能会或可能不会被证明是相关的。如果您正在尝试或成功对不同的主题做同样的事情,请发表评论.

目前如何运作

Mystique 具有允许管理员选择是否显示摘录或完整帖子的选项。此选项在 $options 数组中存储为 $post_content_mode.

文件archive.php 显示存档并通过teaser.php 循环显示每个帖子

Teaser.php 有一行

[PHP]<?PHP (is_sticky() && is_home()) ? 内容() : $应用程序->后>内容(); ?>[/PHP]

该行通过调用文件 AtomObjectPost.php 中的 getContent 函数生成内容。如果此行被注释,则帖子内容将从存档页面中消失.

getContent 函数加载 $options 并作为结果调用 the_content() 或 the_excerpt() 哪些是 wordpress 内置函数.

解决方案

我已经通过修改 Teaser.php 设法实现了我的愿望——但我认为这有点拙劣的工作。我刚换了

[PHP]<?PHP (is_sticky() && is_home()) ? 内容() : $应用程序->后>内容(); ?>[/PHP]

[PHP]<?如果PHP的(is_home()): ?>
<?PHP (is_sticky() && is_home()) ? 内容() : $应用程序->后>内容(); ?>
<?php else: ?>
<?PHP (is_sticky() && is_home()) ? 摘录() : $应用程序->后>内容(‘e’); ?>
<?php endif; ?>[/PHP]

更好的解决方案?

我宁愿通过添加到functions.php 来实现这个解决方案,但我不知道该怎么做。我的 PHP 知识还不够好.

发表评论