web-dev-qa-db-ja.com

ホームメニュー(フロントページ)にpage.phpの代わりにindex.phpを使用させる方法

私のワードプレスのウェブサイトには「ホーム」メニュー項目が必要だったので、新しいページを作成して「ホーム」という名前を付け、それをメインメニュー項目に追加して、閲覧設定からフロントページとして「ホーム」を選択しました。

今問題は、Homepage.phpの代わりにindex.phpを使っているということです。私は私のindex.phpのフロントページをすでにデザインしているので、私は本当にindex.phpを使ってホームページを取得する必要があります。

ホームページでpage.phpの代わりにindex.phpを使用する方法を教えてください。

1
black_belt

最も簡単な方法は、index.phpをテーマのフォルダ内のhome.phpという名前のファイルに複製することです。

別の方法は同じことを新しいページテンプレートを作成し(そこにindex.phpをコピーする)そして一番上にこれを追加することです

<?php
/*
Template Name: My Home Page
*/

次にページ編集画面に行き、テンプレートのドロップダウンから「My Home Page」を選択します。

enter image description here

1
Bainternet

あなたは 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

1
user33172

setting> reading.itでPosts pageとしてホームページを選択してください。

1.あなたがフロントページとしてホームページを選択した場合、それはページルールに従いますので、最初にfront-page.php、次にpage.phpそしてindex.phpを検索します。

2.あなたが投稿ページとしてホームページを選択した場合、それは投稿ルールに従いますので、まずhome.php、次にindex.phpを検索してください。

これを読むと役に立ちます

0
Ravinder Kumar

ですから簡単な修正はindex.phpをバックアップして元のindex.phpをpage-home.phpのような名前に変更することです。そうすればあなたは既に行ったすべての変更を保持することができます。

0
meekbot