JP Coders

Published on

WordPress 見せたくない・隠したい記事をPHPでどうにかする

WordPressで特定のカテゴリの記事を非表示にする方法や、リンクを介して表示する方法をPHPで実装する手順について解説します。

僕のブログでは、批評や日常生活に関する深い話題を扱う記事があります。これらの記事は一般公開するには適さないと考えています。

記事の隠し方と対処方法

WordPressで特定のカテゴリの記事を非表示にする方法や、リンクを介して表示する方法を以下に示します。

カテゴリをクエリパラメータで無効化する

functions.phpに以下のコードを追加します。

function exclude_category_bundle(){

  function exclude_category( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
      $query->set( 'cat', '-4,-3' ); // category: black and pink
    }
  }
  add_action( 'pre_get_posts', 'exclude_category' );
}

if (isset($_GET['black'])) {
    if ($_GET['black'] == "true") {
        // 特定カテゴリの記事を表示する
    } else {
        exclude_category_bundle();
    }
} else {
    exclude_category_bundle();
}

リンクで切り替えるボタンを設置する

ナビゲーションメニューやヘッダーメニューにリンクを追加し、非表示の記事を表示できるようにします。

<?php if (is_home()) {
    echo '<a title="デフォルトで非表示になっている記事を表示します。ご了承の上ご閲覧ください。" style="position: absolute; right: 8em;" onclick="window.location = document.location.href + \'&black=true\'">非表示の記事を表示</a>';
}
?>

これにより、特定のカテゴリの記事を、クエリパラメータを使用して表示・非表示することができます。

追加情報

  • WordPress: 特定カテゴリのすべての記事をnofollow/noindexする方法
  • WordPress PHP: 特定カテゴリの記事に初回のアクセスがあった場合に警告する方法

これにより、WordPressで特定のカテゴリの記事を制御し、表示を管理する方法がわかりました。

Authors
  • avatar
  • Name
  • 情報技術者 / Z世代プログラマー / 米大学院にてデータサイエンスを学ぶ

  • ITプロフェッショナルとして活動しています。React.js等のモダンなウェブ制作・アプリ開発を得意としており、Java・Python・Rust等のプログラミング言語を用いたソフトウェア開発全般を行っています。

お手伝いできますか? 🤝

他の方法でのご連絡をご希望ですか?
web制作ご依頼受付中

本記事で掲載している情報やコードは執筆時点のものであり、動作を保証するものではありません。 自己責任のもと、プログラムの実行や情報の利用にあたってはご注意ください。


本記事には提携する企業の広告が含まれる場合があります。