
クライアント向けに高度にカスタマイズされた製品を作成するWordPress開発者として、WordPressフレームワーク内でPHPスクリプトを作成しようとするときに、同じ問題に何度もぶらぶらしていることに気付きました。私はWordPressの組み込み機能を使用するのが大好きですが、「未定義の方法への呼び出し」または「ストリームを開くことができなかった」という同じエラーメッセージに何度もぶらぶらし続けました。
次に、ニーズに応じて、含める必要がある、required、include_once、またはrequire_onceを含める必要がある適切なファイルを見つけます。たとえば、正しいファイルを見つけたら、通常はWP-IncludesフォルダーにあるPHPドキュメントがあります。たとえば、スクリプトの先頭にそれを含める/要求する必要があります。
時間を節約して、コードの作成を開始できる
今
、ソリューションをグーグルでグーグルでグーグルで入れるのではなく、カスタムファイルをすべて開始する簡単なスクリプトを作成しました。開発の99%に必要なすべての適切なファイルを処理します。
警告
プラグイン、テーマ、またはスクリプトを開発してから、実際に必要なファイルを見つける前に、これを使用することをお勧めします。私は、あなたが必要としないファイルの不必要な呼び出しを行うので、あなたがこのスクリプトを常に実行し続けることをお勧めします。
私が何をしているのか、そしてその理由を見ることができるように、このスクリプトを説明します。これは、後であなたのための参照ツールとしても機能します。
abspathを忘れてください - あなた自身のパスを作ります
私は常にABSPATHを定義するのが好きですが、いくつかのスクリプトとWordPressインストールでヒットまたはミスです。以前は、
の場合は
を使用していました
ABSPATHが定義されているかどうかを確認するためにテストしますが、それも常にうまくいくとは限りません。
[sourcode言語=” php”]
/ *注:これは私がこれ以上しないことです */
// ABSPATHを定義します
if(!defined( 'abspath'))}
define(「abspath」、dirname(___ file___)。 ’/’);
}[/sourcecode]
代わりに、WordPressインストールへの独自のパスを作成します。
[sourcode言語=” php”]
$ location = $ _server ['document_root’];
include($ location。 ’/wp-config.php’);
include($ location。 ’/wp-load.php’);
include($ location。 ’/wp-includes/pluggable.php’);
[/sourcecode]
これは、WordPressのインストールがあなたのウェブサイトのルートにあると仮定します。つまり、www.yoursite.com
そうでない場合は、このような$の場所変数に文字列を追加するだけです。
[sourcode言語=” php”]
$ location = $ _server ['document_root’]。 「/Your-WP-Install」;
[/sourcecode]
ビッグ3
私の経験では、スクリプトのセットアップに関しては、すべての問題を引き起こす3つのファイルがあります。私はこれらを「ビッグ3」と呼びます。なぜなら、それらを含めるか要求すると、「未定義の方法への呼びかけ」エラーに関しては、ほとんどの問題がなくなるからです。彼らです:
- wp-config.php
- pluggable.php
- wp-load.php
これらを手に入れると、ほとんどのエラーがなくなることがわかります。
[sourcode言語=” php”]
//ビッグ3を取得します
include(abspath。“ wp-config.php ’);
include(abspath。“ wp-load.php ’);
include(abspath。“ wp-includes/pluggable.php ');
[/sourcecode]
グローバル$ wpdb
もう1つの役立つことは、$ WPDBがグローバル変数であることを確認することです。これにより、作成した関数がWordPressデータベースクエリ機能にアクセスできるようになります。これは大きな時間の節約になる可能性があります。
wp-config.phpおよびwp-db.phpファイルを含めたため、$ wpdbを適切に動作させるのに問題はありませんが、最初に確認するために
テストを実行するのが好きです。
[sourcode言語=” php”]
//ビッグフォーを取得します
グローバル$ wpdb;
if(!isset($ wpdb))
{
include($ location。 ’/wp-config.php’);
include($ location。 ’wp-includes/wp-db.php');
}[/sourcecode]
スクリプトをテストします
WordPressの新鮮なインストールから始めている場合は、1人の管理者ユーザーのみがいます。したがって、WordPressデータベースとクエリユーザーに接続しようとする意味はありません。この簡単なテストを作成して、適切に接続しているかどうかを確認しました。もしそうなら、あなたはあなたの名前とメールアドレスがテーブルに登録されているのを見るでしょう:
[sourcode言語=” php”]
/*
上記のテストには、ステートメントが機能しています
すべての管理者とそのメールをリストします
テーブル内のアドレス。
*/
//テストを開始します
$ args = array(//クエリを設定して、管理者のみを取得する
「役割」=>「管理者」、
「フィールド」=>「all_with_meta」
);
$ query = get_users($ args); // get_users呼び出しを使用します
//テーブルを設定します
Echo ''; //テーブルタグを閉じます
//テストの終了 - ここから上記の「テストの開始」にコメントするか、削除します
[/sourcecode]
テストが機能し、名前とメールアドレスが表示された場合は、コメントをテストスクリプトから削除してコーディングを開始してください!
このPHPファイルをWordPressフォルダー内にドロップすると機能します。したがって、最初のテストとプログラミングの場合、このスクリプトは、基本的な技術的問題のトラブルシューティングに費やされた時間を節約できます。
繰り返しますが、機能が適切に機能し、絶対に必要なファイルのみを含めると、詳細作業を行うことができます。たとえば、WP-config.phpファイルを含める必要がない場合は、しないでください!コードを1行ごとにコメントして、適切に機能するかどうかを確認してください。必要なものを保ち、残りを失います。
これにより、WordPress開発に必要なファイルの基本的なマッピングではなく、時間を節約し、コーディングに集中できることを願っています。
簡単に参照できる完全なスクリプトを次に示します。コピーして、必要な場所ならどこでもファイルを保存し、仕事を成し遂げるのを楽しんでください。
[sourcode言語=” php”]
「管理者」、
「フィールド」=>「all_with_meta」
);
$ query = get_users($ args); // get_users呼び出しを使用します
//テーブルを設定します
Echo ''; //テーブルタグを閉じます
//テストの終了 - ここから上記の「テストの開始」にコメントするか、削除します
?>
[/sourcecode]
PHPをもう少し深く掘り下げたいですか?パートナーサイトのphpmaster.comをご覧ください。
WordPressに関するよくある質問(FAQ)には、スクリプトが含まれていますが含まれます
wordpressに含まれると要求される違いは何ですか? include/requireスクリプトを使用して、セキュリティ関連のPHPファイルを含めることにより、WordPressサイトのセキュリティを強化できます。たとえば、ユーザー入力の消毒、ユーザー許可の確認、SQLインジェクション攻撃の防止のための機能を含むファイルを含めることができます。含まれているファイルへのパスが正しくて安全であることを確認して、ファイルの包含の脆弱性を防ぐために。期待どおりに機能していません。構文エラー、データベースの資格情報が誤っている、またはデータベースサーバーの問題が原因である可能性があります。スクリプトの先頭にWP-Load.phpファイルを含めて、WPDBクラスを使用していることを確認してください。また、SQLクエリがエラーを確認し、SQLインジェクション攻撃を防ぐために適切に準備されていることを確認してください。WordPressのABPATHとは何ですか? WordPressディレクトリへの絶対パスを保持するWordPress。多くの場合、WordPressディレクトリからファイルを含めるためのインクルードまたは要求ステートメントに使用されます。それを使用するには、ファイルの相対パスにアブスパスを完成させるだけです。たとえば、要求(abspath。“ wp-config.php ’); wp-config.phpファイルが含まれます javascriptをWordPressに適切に追加するにはどうすればよいですか?
javaScriptをWordPressに適切に追加するには、wp_enqueue_script関数を使用する必要があります。この関数を使用すると、JavaScriptファイルをWordPressヘッダーまたはフッターに含めることができ、依存関係を指定し、ファイルのバージョンを制御できます。 functions.phpファイルまたはプラグインで常にwp_enqueue_scriptを使用し、header.phpまたはfooter.phpファイルに直接ではありません。読み込みではなく、機能にグローバルな宣言が欠落しているためかもしれません。 WPDBクラスはWordPressのグローバル変数であるため、関数で使用する前にグローバルとして宣言する必要があります。たとえば、グローバル$ wpdb;関数の先頭に問題を解決する必要があります。
WordPressにCSSファイルを含めるためにinclude/要求のスクリプトを使用するにはどうすればよいですか? includeまたは要求のスクリプトではなく、wp_enqueue_style関数を使用します。 wp_enqueue_style関数を使用すると、WordPressヘッダーにCSSファイルを含めることができ、依存関係を指定し、ファイルのバージョンを制御できます。 functions.phpファイルまたはプラグインで常にwp_enqueue_styleを使用してください。header.phpファイルに直接ではありません。
いいえ、WordPress投稿にPHPファイルを含めるためにincludeclidecluseを使用することはできません。 WordPressの投稿は、セキュリティ上の理由でPHPコードをサポートしていません。 PHPファイルを投稿に含める必要がある場合は、ファイルを含むショートコードを作成し、投稿のショートコードを使用する必要があります。 wordpressのプラグイン?wordpressのプラグインのファイルを含めるには、includeまたはrequireスクリプトと組み合わせてplugin_dir_path関数を使用できます。 Plugin_dir_path関数は、プラグインのディレクトリへの絶対パスを返します。たとえば、(plugin_dir_path(file)。“ myfile.php ’);現在のファイルと同じディレクトリからmyfile.phpファイルが含まれます。include/要求スクリプトを使用して、WordPressにテーマからファイルを含めることができますか? WordPressのテーマから、get_template_directory関数をincludeまたは要求スクリプトと組み合わせて使用できます。 get_template_directory関数は、現在のテーマのディレクトリへの絶対パスを返します。たとえば、(get_template_directory()。 ’/myfile.php’);現在のテーマディレクトリからmyfile.phpファイルが含まれます。以上が究極には、WordPressのスクリプトが含まれますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。