質問: wordpressテーマのfunctions.phpファイルにコードを整理する 私がwordpressをよりカスタマイズするほど、このファイルを整理するのか、それとも分割するのかを考え始めます。より具体的に言うと、管理領域にのみ適用されるカスタム機能や、私の公開webサイトにのみ適用される他のカスタム機能がある場合、すべての管理機能を独自のファイルに含めるか、グループ化する必要があります。それらを別々のファイルに分割したり、一緒にグループ化したりすると、wordpress webサイトの速度が上がる可能性がありますか。それとも、is_adminコードプレフィックスを持つ関数を自動的にスキップするのですか大きな関数ファイルを処理するための最良の方法は何ですか(私のものは1370行の長さです)。
回答: テーマのfunctions.phpのコードが圧倒し始めているところまで来たら、間違いなく、複数のファイルに分割することを検討する準備ができていると思います。私はこの時点でほとんど第二の性質によってそれをする傾向があります。テーマのfunctions.phpファイルでインクルードファイルを使用するテーマディレクトリの下に"includes"というサブディレクトリを作成し、その時点で理にかなった方法で整理されたインクルードファイルにコードを分割します(つまり、常にコードをリファクタリングして移動します)また、functions.php;に実際のコードを入れることはめったにありません。すべてがインクルードファイルに含まれます。ただ私の好み。ここに例を示すために、ここの質問への回答をwordpress answersでテストするために使用するテストインストールを示します。質問に答えるたびに、再び必要になったときに備えてコードを保持しています。これは実際のサイトで行うこととは異なりますが、コードを分割するメカニズムを示しています。<?php /* * functions.php * */ require_once( __dir__ . '/includes/null-meta-compare.php'); require_once( __dir__ . '/includes/older-examples.php'); require_once( __dir__ . '/includes/wp-admin-menu-classes.php'); require_once( __dir__ . '/includes/admin-menu-function-examples.php'); // wa: adding a taxonomy filter to admin list for a custom post type? // http://wordpress.stackexchange.com/questions/578/ require_once( __dir__ . '/includes/cpt-filtering-in-admin.php'); require_once( __dir__ . '/includes/category-fields.php'); require_once( __dir__ . '/includes/post-list-shortcode.php'); require_once( __dir__ . '/includes/car-type-urls.php'); require_once( __dir__ . '/includes/buffer-all.php'); require_once( __dir__ . '/includes/get-page-selector.php'); // http://wordpress.stackexchange.com/questions/907/ require_once( __dir__ . '/includes/top-5-posts-per-category.php'); // http://wordpress.stackexchange.com/questions/951/ require_once( __dir__ . '/includes/alternate-category-metabox.php'); // http://lists.automattic.com/pipermail/wp-hackers/2010-august/034384.html require_once( __dir__ . '/includes/remove-status.php'); // http://wordpress.stackexchange.com/questions/1027/removing-the-your-backup-folder-might-be-visible-to-the-public-message-generate require_once( __dir__ . '/includes/301-redirects.php'); またはプラグインを作成する別のオプションは、コードを機能ごとにグループ化して独自のプラグインを作成することです。私にとっては、テーマのfunctions.phpファイルでコーディングを開始し、コードが完成するまでに、ほとんどのコードをプラグインに移動しました。ただし、phpコード編成から大幅なパフォーマンスの向上はありません一方、phpファイルの構造化は、順序と保守性の作成については99%、パフォーマンスについては1%です(http経由でブラウザーによって呼び出される.jsおよび.cssファイルの整理)ただし、サーバー上でphpコードを整理する方法は、パフォーマンスの観点からは重要ではありません。そして、コード編成は個人的な好みです最後になりましたが、コードの構成は個人的な好みです。一部の人々は、私がコードを整理する方法を嫌うかもしれません。好きなものを見つけてそれを使い続けますが、学習するにつれて戦略が徐々に進化し、それに慣れることができます。