WordPressで特定のスラッグ名の投稿に例外処理を行う方法

2022年7月3日
WordPressで特定のスラッグ名の投稿に例外処理を行う方法

特定の投稿だけに異なる表示や機能を適用したいことがあります。この記事では、投稿のスラッグ名を使って条件分岐を行い、特定の投稿にのみ例外処理を適用する方法を記録します💡

目次

スラッグとは何か?

スラッグとは、WordPressの投稿やページのURLの一部として使用される文字列です。例えば、「私の最初のブログ記事」というタイトルの投稿があった場合、そのスラッグは通常「my-first-blog-post」のようになります

スラッグを使った条件分岐の基本

特定のスラッグを持つ投稿に対して例外処理を行うには、以下のような PHP コードを使用します:
    
    
<?php
if ($post->post_name === 'specific-slug') {
    // 特定のスラッグを持つ投稿に対する処理
    echo "これは特別な投稿です!";
}
?>


この例では、’specific-slug’ というスラッグを持つ投稿に対してのみ、「これは特別な投稿です!」というメッセージが表示されます

特定のスラッグを持つ投稿のみに適用する例外処理

例えば、’featured-post’ というスラッグを持つ投稿にのみ特別なスタイルを適用したい場合、以下のようなコードを使用できます:

    
    
<?php
if ($post->post_name === 'featured-post') {
?>
    <div class="featured-content">
        <h2><?php the_title(); ?></h2>
        <?php the_content(); ?>
    </div>
<?php
} else {
    // 通常の投稿表示
    the_content();
}
?>


特定のスラッグを持つ投稿以外に適用する例外処理

逆に、特定のスラッグを持つ投稿以外のすべての投稿に対して例外処理を行いたい場合は、以下のようなコードを使用します:

    
    
<?php
if ($post->post_name !== 'excluded-post') {
?>
    <div class="special-formatting">
        <?php the_content(); ?>
    </div>
<?php
} else {
    // 'excluded-post' スラッグを持つ投稿の通常表示
    the_content();
}
?>


この例では、’excluded-post’ というスラッグを持つ投稿以外のすべての投稿に対して、コンテンツを特別な div タグで囲んでいます

注意点

    スラッグを使った条件分岐は便利ですが、過度に使用するとテンプレートファイルの可読性やメンテナンス性が低下する可能性があります。
    可能な限り、タクソノミーやカスタムフィールドを使用した条件分岐を検討することをおすすめします。

まとめ

また、WordPressの投稿編集画面でもスラッグを確認・編集することができます。

「パーマリンク」欄の「編集」ボタンをクリックすると、スラッグを変更できます💡

以上の方法を使用することで、特定の投稿に対して柔軟な表示や機能の制御が可能になります◎

※緊急依頼の場合は【緊急】のチェックボックスにチェックを入れてください。24時間以内に担当者より折り返します。

ご質問・ご依頼はこちらから