banner
Feng

Feng's xLog

我在xLog上的窝

プラグインなしでブログにコメントを追加する

現在、多くのブログには「つぶやき」や類似のページが追加されています。様々なスタイルがあり、見ているとワクワクします。私の小さなサイトも「武装」してみたいです。老張や阿杰などを見て、Memos を呼び出していることがわかりました。スタイルが良く、私の好みです。私も同じように Memos を作りました(これはいいものです。メモとしても、個人の小さなマイクロブログとしても使えます。とても良いです)。しかし、現時点では Docker を実行する適切なホストがありません。そうでなければ、プラグインなしでやってみましょう...

image

Chatgpt の助けを借りて、コードの生成はかなり簡単です。このサイトのアーカイブ、タグ、フレンドリンクは、この「仲間」のおかげで解決しました。そうでなければ、私の頭の中の木のような頭で、かなり長い間苦労しなければなりませんでした。大まかな手順は次のとおりです:

  • 記事のカテゴリディレクトリに「つぶやき」という名前の新しいページを作成します。スラッグは「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');
  • template-shuoshuoという名前の PHP ファイルを作成し、以下のコードを追加します:
<?php
/*
Template Name: つぶやき
*/

get_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件のコメント', 'your-theme'), __('%件のコメント', '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(); // テーマのフッター部分を呼び出す

保存して、テーマのルートディレクトリにアップロードします。

  • Wordpressのバックエンドに追加し、ページで新しいページを作成します。作成した「つぶやき」テンプレートを選択し、「つぶやき」という名前で保存した後、メニューに作成したページを追加し、保存してホームページをリロードすると、効果を確認できます。もちろん、記事を 1 つ作成するのを忘れないでください。つぶやきページは記事の内容のみを呼び出します。

この記事で言及されているプラグインなしでのつぶやき機能の実装は、ホームページで特定のカテゴリを非表示にし、そのカテゴリを指定されたページに出力することです。まだ美化されていません(私は CSS のスキルがそれほど高くないので、それは言えません... 笑)。コメントが必要ない場合は削除することもできます(コメントをクリックすると、記事ページに移動します)。Memos を呼び出すのは後でホストを見つけて研究することにします。誰知道いつか使えるかもしれません。

個人的には、これを読んだ後にはあまり面白くないと感じました。私のように怠惰な人間は、ブログの更新も遅いし、Memos も頻繁に更新することはないでしょう。だから、本当にその時間があるなら、じっくりと座って何かを書く方が楽しいのではないでしょうか?

2024-01-14 最終的には Memos に変更しました。このツールを使えば、スマートフォンからも投稿できますので、便利です。現在、調整も完了しましたので、使い始めましょう。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。