web-dev-qa-db-ja.com

テーマにヘッダーファイルまたはフッターファイルを含めることはできませんか?

(有名な)論文やあまり有名ではないいくつかのテーマなど、私が見たいくつかのテーマには、index.php(何も含まれていない)、functions.php(呼び出しのフレームワーク)、 style.css-そしてもちろんcomments.php

これらのテーマは、CSSの保存場所を正確には示していません-明らかにエンキューのヘッダーにあります。しかし、スクリプトをキューに入れてからget_header()get_footer()を呼び出すようなことをすると、header.phpfooter.phpが間違っていないことがわかります。

だから、誰かがindex.phpだけでテーマを逃れる方法を教えてもらえますか? テンプレート階層を読みました そして、はい、すべてがindex.phpにフォールトバックします-これらの人々がこのようなことでうまくやっているのはどうですか?

これらのタイプのテーマにはheader-custom.phpなどのようなものがないことに注意してください。

2
TheWebs

必要な条件がすべて正しく処理されていることを確認する必要があります。 WordPressコンディショナルタグ availableについてもっと読むことができます。

現在アクティブなWordPressテーマにheader.phpおよびfooter.phpファイルがない限り、現在アクティブなWordPressテーマにindex.phpファイルを作成するだけで済みます。基本的なindex.phpファイルがある限り、問題ないはずです。

一部のテーマは完全にフックで動作します。 WordPressプラグインAPI を読み、利用可能な WordPress Actionフックリファレンス および WordPress Filterフックリファレンス を参照することをお勧めします。 WordPressのすべてのアクションとフィルタフックの詳細なリストについては、 Adam BrownのWordPress Hooksデータベース を参照してください。

WordPressのフックに慣れたら、do_action()の呼び出しについて現在アクティブなWordPressテーマを調べることができます。これらはテーマ開発者によって作成されたフックで、テーマをさらに操作するために使用できます。

これに注目していないテーマに関しては、ユーザーはWordPress次第ではなく、テーマを作成してそれを一般向けに提供したテーマ開発者次第です。元のテーマ開発者に連絡して、テーマ全体で使用可能なフックのリストを要求するか、元のテーマ開発者にテーマに関する詳細なドキュメントの作成を依頼することができます。

1
Michael Ecklund

footerとheader.phpは全く不要です。これらのテンプレートとget_footer()およびget_header()関数は純粋に補助、ヘルパー、ガイドです。

もちろん、すべてのテンプレートを<html><head>...</head><body>などで始めることもできますが、テンプレートを変更したい場合はすべてのファイルを変更する必要があるため、header.phpとfooter.phpが導入されたので、それらを1回入力するだけ。

Wrapper.phpを使用するscribusテーマラッパーなどの代替方法もあります。

機能しているWordPressテーマを取得するために必要な唯一のファイルは以下のとおりです。

  • メインループを持つindex.php
  • テーマ名の詳細を説明した先頭にコメントがあるstyle.css

他のすべてはオプションです。したがって、実際にはテーマにheader.phpが欠落しているわけではなく、他のテーマに必要のないheader.phpが追加されているのです。

note:ヘッダファイルとフッタファイルは、必要でなくても利用することをお勧めします。 single.php page.phpやfunctions.phpが必要ないのと同じように、それらはまだ持っているべき良いことです。

1
Tom J Nowell

論文にはheader.phpファイルとfooter.phpファイルの両方が含まれています。

thesis> lib> htmlには、これらのファイルと他のファイルの両方が含まれています。

これら両方のファイルには、コンテンツを追加したり既存の関数の出力をフィルタリングしたりできるフックとフィルタが含まれています。

Thesisのようなテーマはあなたがあなたの子供のテーマまたはcustom_functions.phpファイルからヘッダーとフッターを修正することを可能にするフックとフィルターを含むカスタム関数を使用してテーマの様々な部分のカスタマイズをサポートします。

他のテーマではget_template_partを使用します。これにより、テンプレートの一部を子テーマにコピーしてそこで変更し、親テーマフレームワークが更新されても変更内容が失われないようにすることができます。

他の親テーマでは、テンプレートファイルを子テーマにコピーしてそこで修正する必要があります。

アクションフックとフィルタの使用は、コアの親テーマファイルを編集したり、親テーマから子テーマ/カスタム関数ファイルにコードをコピーしたりする必要なしにテーマをカスタマイズするより効率的な方法であると多くの人に考えられています。

論文footer.php

<?php

/**
* Call footer elements.
*/
function thesis_footer_area() {
thesis_hook_before_footer();
thesis_footer();
thesis_hook_after_footer();
}

/**
* Display primary footer content.
*/
function thesis_footer() {
echo "\t<div id=\"footer\">\n";
thesis_hook_footer();
thesis_admin_link();
wp_footer();
echo "\t</div>\n";
}

論文header.php

<?php

function thesis_header_area() {
thesis_hook_before_header();
thesis_header();
thesis_hook_after_header();
}

function thesis_header() {
echo "\t<div id=\"header\">\n";
thesis_hook_header();
echo "\t</div>\n";
}

function thesis_default_header() {
thesis_hook_before_title();
thesis_title_and_tagline();
thesis_hook_after_title();
}

Thesis_hook_before_footerフックを使ってThesisにフッター属性のカスタム関数を追加する方法の例を示します。

add_action('thesis_hook_before_footer', 'add_custom_attribution'); // Custom footer attribution

function add_custom_attribution () { ?>


    <p>&copy; 2007 - <?php echo date("Y"); ?> All Rights Reserved</p>
    <p>Site design by <a href="http://andrewnorcross.com/" title="Andrew Norcross -  This Is Where The Awesome Happens" target="_blank">Andrew Norcross</a></p>

<?php }

論文フック&フィルター http://thesishooks.com/thesis-hook-list

0
Brad Dalton

header.phpfooter.phpそして私の意見では、sidebar.phpは本当に必要なファイルではありません。_ wp template hierachy を読んだので理解しても問題ないはずです。テーマにheader.phpファイルがないのはなぜでしょう...そう、あなたは正しいと思います、...それは常にindex.phpファイルを持っています。 :)

私が知っているすべてのために加えて、あなたは子供のテーマを参照しているかもしれません:(それはその基本的な形でstyles.cssを必要とするだけです。

0
Tamara

これは明らかな質問かもしれませんが、参照しているテーマは 子テーマ ですか?

私の会社は、すべてのクライアントプロジェクトを共通のメソッドとHTMLの開始点を設定する親テーマに基づいているので、多くの場合、子テーマはカスタム投稿タイプに対応するためのスタイルシートとカップルテンプレートだけです。

0
jlengstorf