[WordPress]ホームページに1つのカテゴリのみ表示されるように

Last Updated:2023年07月16日| コメントを残す

WordPressの管理者ページで 設定>読む 設定で フロントページの表示を」最新記事「」を指定すると、ホーム(前面ページ)に最新の記事のリストが表示されます。 pre_get_posts アクションを使用することができます。 このフックは、クエリ(Query)変数オブジェクトが生成された後、実際のクエリが実行される前に呼び出されます。

特定のカテゴリの文だけを表示するには、次のコードを WordPress テーマの関数ファイル(functions.php)に追加するようにします。

function my_home_category( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', '123' );
}
}
add_action( 'pre_get_posts', 'my_home_category' );

ここで、「123」は表示するカテゴリIDです。 目的のカテゴリのIDに変更するようにします。 (カテゴリIDの確認方法は、 この記事を参照してください。)

メインページで 特定のカテゴリ文を除くするには、次のようにカテゴリーIDの前にマイナス記号( - )を付けるとします。

function exclude_category( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', '-1,-1347' );
}
}
add_action( 'pre_get_posts', 'exclude_category' );

この方法では、関数ファイルに直接コードを置くため、個々のテーマファイルソースを変更する必要はありません。 この方法がうまく機能しない場合は、ループで特定のカテゴリの文だけを表示/除く「記事を参照してテーマファイルを編集する方法を試してください。

メモ: 関数ファイル(functions.php)を変更時にテーマエディタで可能ですが、場合によっては修正の過程でエラーがある場合、管理者ページ自体がロードされないことがあります。 (変更が多い場合)FTPに接続して直接変更する方法がより効率的で精神的健康にもいいことがあります。 特にFTPで変更する場合希望するテキストエディタを使用することができ、問題になっても簡単に元に戻す(元に戻す)機能を使用すると、簡単に復旧が可能です。

メモ:


コメントを残す

コメント