当前位置: 首页 > IT网络 > 正文

无插件给博客加个说说

现在很多博客上都添加了说说或类似的页面,各种样式的都有,看着我心痒痒,真想逮个空给俺那小破站也“武装”一下。看了老张和阿杰等都是调用Memos,样式不错,是俺喜欢的,我也照样画葫芦似的去搭了个Memos(这东西是不错,把它当作随手记也好,当作个人小微博也罢,挺好),但目前尚没有合适的主机跑Docker,要不咱就无插件来一个………………

在借助Chatgpt的帮忙下,生成一些代码还是蛮轻松的,本站的归档、标签、友链都是在“家伙”的帮忙下搞定的,要不然就我这榆木脑袋估计还得折腾好久。大致的步骤如下:

  • 在文章分类目录下新建一个说说,slug写为:shuoshuo
  • 在主题的functions.php中添加如下代码:

/*屏蔽说说在首页中显示*/
function exclude_category_from_home($query) {
    if ($query->is_home() && $query->is_main_query()) {
        $excluded_category = get_category_by_slug('shuoshuo');
        $excluded_category_id = $excluded_category->term_id;
        $query->set('cat', '-' . $excluded_category_id);
    }
}
add_action('pre_get_posts', 'exclude_category_from_home');

  • 新建一个PHP文件,名字可以用template-shuoshuo命名,并在其中添加以下代码:

<?php
/*
Template Name: 说说
*/

get_header(); // 调用主题的header部分
?>

<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">

        <?php
        // 获取"说说"分类的信息
        $category = get_category_by_slug('shuoshuo');

        // 查询属于"说说"分类的文章列表
        $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
        $args = array(
            'post_type' => 'post',
            'posts_per_page' => 10,
            'paged' => $paged,
            'cat' => $category->term_id
        );
        $query = new WP_Query($args);

        if ($query->have_posts()) {
            while ($query->have_posts()) {
                $query->the_post();
                // 显示每篇文章的内容
                ?>
                <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

                <div class="author-info">

                   <div class="author-meta">
                   <span class="author-name"><?php the_author(); ?></span>
                   <span class="post-date"><?php the_date(); ?></span>
                   </div>
                </div>

                    <div class="entry-content">
                        <?php the_content(); ?>

                    </div>

                    <footer class="entry-footer">
                        <?php if (comments_open() || get_comments_number()) : ?>
                            <div class="comments-link">
                                <?php comments_popup_link(__('来个评论', 'your-theme'), __('1 Comment', 'your-theme'), __('% Comments', 'your-theme')); ?>

                            </div>
                            <br>
                        <?php endif; ?>
                    </footer>
                </article>
                <?php
            }

            // 显示翻页链接
            echo '<div class="pagination">';
            echo paginate_links(array(
                'total' => $query->max_num_pages
            ));
            echo '</div>';
        }
        ?>

    </main>
</div>

<?php
get_footer(); // 调用主题的footer部分

保存并上传到主题根目录下

  • 加到Wordpress后台,在页面中新建一个页面,模板选择刚才建立的说说模板,以说说为名保存后,再在菜单中添加刚才建立的页面,保存后再刷新首页,就可以去看看效果如何了。当然别忘了新建一篇文章,名字随意,因为说说页面只调用文章的内容。

本文所提到的无插件实现说说功能,原理就是在首页中屏蔽一个分类输出,并将这个分类按要求输出到指定的页面中去,暂未进么美化(本个对CSS也就那点水平,实在是……不能说233),不需要评论的话也可以去掉(评论点进去的界面是不是很眼熟——这不就是文章页嘛)。至于调用Memos回头哪天再找个主机研究研究,说不定啥时也就挤上了
个人看完感觉也没啥好玩的,像我这么懒的,博客更新都慢,还会经常去更新Memos?估计难,没那习惯呀,所以我觉得真有这功夫还是踏实坐下来水几篇是不是更带劲?
2024-01-14 最终还是改成Memos了,用这玩意手机端就可以发送,方便。目前也调试好了,那就开始用吧。

您可能还会对这些文章感兴趣!

《无插件给博客加个说说》有 23 条评论

  1. 弋牧
    10楼
    弋牧1

    你这个说说的页面,比我的那个好看一些 哈哈

    2024-07-13 13:58 来自山东省 回复
  2. Kevin's Blog
    9楼

    gpt写的代码咋样?

    2024-03-01 15:56 来自香港 回复
  3. 小小柳之絮
    8楼

    在页面后面加上?comm=1就可以评论了!或者使用www.iloli.xin访问!

    2024-02-14 00:17 来自美国马萨诸塞 回复
  4. 小小柳之絮
    7楼

    根据大佬的思路做了个页面
    https://www.gymxbl.com/blog/
    请过目!

    2024-02-14 00:16 来自美国马萨诸塞 回复
  5. 小小柳之絮
    6楼

    最近不知道干些什么好,感谢给了个思路,其实可以把主题的首页作为说说的列表页面

    2024-02-13 20:35 来自美国马萨诸塞 回复
  6. 老张博客
    5楼

    也开始折腾Memos了呀,现在是人手一个了。不过这个真是个好东西。

    2024-01-16 10:05 来自亚太地区亚太地区 回复
  7. 电视宝
    4楼

    请问您的博客使用的是什么字体?谢谢

    2024-01-14 19:35 来自海南省 回复
  8. 阿杰 Jack
    地板

    这是没有通过 memos 搞定了说说?

    2024-01-13 16:07 来自加拿大安大略 回复
    • Feng
      Feng

      @阿杰 Jack是通过memos的,我之前加载不出来是因为套了又拍云的加速,部分参数没有设置,所以一直加载不出来。现在碰到的问题是,用你给的这些搭好后,照片不会显示,因为我照片是放在第三方存储上的,默认参数只能读出数据库的,代码不太懂,暂时计划用木木木木的方案,不过评论好像也要换成Twikoo

      2024-01-13 21:32 来自浙江省 回复
  9. 电脑星人
    板凳

    除了要从文章列表页面隐藏这些说说以外,还有 RSS Feed 也要做一下隐藏,不然要露馅啦~

    将 memos 接到博客里面我以前折腾过,不过当时用的不是 WordPress,是静态博客。有一个比较麻烦的点是 memos 的 API 返回的是 Markdown,还得自己去渲染成 HTML,另外图片附件也得自己插 img 标签。

    我个人认为既然已经用动态博客程序,有现成的数据库了,另外接一个 memos 可能不是最合适的,就像你不会给 WordPress 再接一个 Twikoo 或者 Artalk 评论系统一样。
    也许可以尝试找一下有没有合适的说说功能的 WordPress 插件?

    2024-01-12 03:22 来自广东省 回复
    • Feng
      Feng

      @电脑星人说的非常好,我这个也只是在首页进行了分类屏蔽,像归档、RSS都没有的,甚至在文章的上下一条都能找到,没去搞太复杂的,目前已经在尝试其它办法,或使用Memos嵌入,或像你说的,反正都去尝试尝试,折腾一下

      2024-01-12 08:17 来自澳大利亚 回复
  10. 1900
    沙发
    19002

    我memos更新比博客勤快,几乎每天都会发个一两条。

    2024-01-11 17:29 来自澳大利亚 回复
    • Feng
      Feng

      @1900厉害,这东西感觉是挺方便的,手机上随时可以来那么一条

      2024-01-12 08:13 来自澳大利亚 回复
    • 弋牧
      弋牧1

      @1900你们现在玩的这么高端了吗?好久不折腾博客了,都不知道还有这功能,Memos是个啥都不知道哈哈

      2024-07-13 14:17 来自山东省 回复
      • Feng
        Feng

        @弋牧我这还是小打小闹,他们那些才是厉害

        2024-07-13 22:07 来自浙江省 回复

发表评论

[点击取消回复]

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

Gravatar

? razz sad evil ! smile oops grin eek shock ??? cool lol mad twisted roll wink idea arrow neutral cry mrgreen