0

私はブログではないウェブサイトを作成しており、CMS にワードプレスを使用しています。要するに、ワードプレス ループも使用していません。

Web サイトには、他の誰かの API などからのグラフやデータが表示されますが、これを行う正しい方法と思われる方法に固執しており、見つけたすべてのドキュメントはブログ用であるか、非常にあいまいです。

カスタム テンプレートではなく、インポート ステートメントだけを使用してページを作成できるようにしたいと考えています。

例えば:

// index.php

<?php get_header(); ?>

// Some file, like index_content.php imported into here
<?php get_custom_page_content(); ?>

<?php get_footer(); ?>


// about.php

<?php get_header(); ?>

// Some file, like about_content.php imported into here
<?php get_custom_page_content(); ?>

<?php get_footer(); ?>

.php以下で説明するように新しいファイルを作成すると、CMS が完全に損なわれるため、非常に矛盾しているように見えます。メニュー項目などから直接リンクせずにこれらのファイルを管理するものがないため、管理パネルにログインすることさえせずに自分で編集します。それでは、すべてを @include して、Wordpress を完全に削除しないでください。ここで何かが欠けているに違いありません。

要するに、私はこれをどのように構成するかが分からず、研究の試みから、これに答えるために何を探しているのかわからない.

上記のシナリオを作成するにはどうすればよいですか、または.php名前付きページごとに新しいファイルを作成するだけで、必要なものは簡単@includingですか?

私は悪い慣習には入りたくありません。

4

1 に答える 1

1

1) WordPress のデフォルトのページ テンプレートを使用できます。ファイルが作成され、属性メタ ボックスにテンプレートとして表示されますpage-index.phppage-about.php

2)または、カスタム メタ フィールドとボックスを使用して、デフォルトの属性のように独自の個人用メタ ボックスを作成することもできます。これはadd_meta_boxget_post_metaおよびで行われupdate_post_metaます。WordPress Answers で次の結果を確認してください。
しかし、簡単に言えば、それらの使用方法を知っていても、それを処理するために高度なカスタム フィールドを使用することを好みます。

カスタム メタ ボックスを配置したら、事前に構成されたドロップダウン リスト ( indexabout) から選択し、page.phpテーマ ファイルで次のように使用します。

global $post;
$include = get_post_meta( $post->ID, 'include_file', true );
get_template_part( 'content', $include );

include_fileドロップダウン選択を含むカスタム フィールドです。そして、ACF を使用して、update_post_metaまたは ACF で作成されたフィールドで自分で処理します。

get_template_path()バンドルされた WP 関数であり、この例ではファイルexample.com/wp-content/themes/YOUR-THEME/content-index.phpまたはexample.com/wp-content/themes/YOUR-THEME/content-about.php.


方法 1 は簡単です。方法 2 では、より多くの詳細を微調整できます。両方を組み合わせて使用​​できます。

于 2013-08-17T16:49:03.653 に答える