私のワードプレスのウェブサイトには「ホーム」メニュー項目が必要だったので、新しいページを作成して「ホーム」という名前を付け、それをメインメニュー項目に追加して、閲覧設定からフロントページとして「ホーム」を選択しました。
今問題は、Home
はpage.php
の代わりにindex.php
を使っているということです。私は私のindex.phpのフロントページをすでにデザインしているので、私は本当にindex.phpを使ってホームページを取得する必要があります。
ホームページでpage.phpの代わりにindex.phpを使用する方法を教えてください。
最も簡単な方法は、index.phpをテーマのフォルダ内のhome.phpという名前のファイルに複製することです。
別の方法は同じことを新しいページテンプレートを作成し(そこにindex.phpをコピーする)そして一番上にこれを追加することです
<?php
/*
Template Name: My Home Page
*/
次にページ編集画面に行き、テンプレートのドロップダウンから「My Home Page」を選択します。
あなたは template_redirect アクションフックを使うことができます。
Functions.phpファイルに次のコードを追加します。
if ( !function_exists( 'force_index_template' )) {
function force_index_template() {
if ( is_page( page_id ) ) { // Replace page_id with the page id of the home page
global $template;
$template = get_template_directory() . '/index.php';
include( $template );
exit;
}
}
add_action( 'template_redirect', 'force_index_template');
}
注:必ず、page_idをホームページのIDに置き換えてください。
使用されているWordpressの関数:is_page、add_action
setting> reading.itでPosts pageとしてホームページを選択してください。
1.あなたがフロントページとしてホームページを選択した場合、それはページルールに従いますので、最初にfront-page.php、次にpage.phpそしてindex.phpを検索します。
2.あなたが投稿ページとしてホームページを選択した場合、それは投稿ルールに従いますので、まずhome.php、次にindex.phpを検索してください。
ですから簡単な修正はindex.phpをバックアップして元のindex.phpをpage-home.phpのような名前に変更することです。そうすればあなたは既に行ったすべての変更を保持することができます。