WordPress エコシステムの適切な場所はフォルダーですwp-content
。これは、WP のアップグレード、復元、または移行を行う際に保存するフォルダーです。
そのフォルダーでは、テーマ ( /themes
)、プラグイン ( /plugins
)、アップロードされたファイル ( /uploads
)、または状況に応じてカスタム フォルダー ( /my-custom-content
) の一部である可能性があります。
/wp-content/themes/your-theme
ここでは、すべてのプレゼンテーション関連のコードです。一般的な機能コードをテーマの に配置するのはよくある間違いfunctions.php
です。このファイルにカスタム関数を配置する前に最初に尋ねる質問は、次のとおりです。
テーマを変更した場合、この関数は必要になりますか?
参照:コードを配置する場所: plugin または functions.php?
/wp-content/plugins/your-plugin
いくつかの CSS または Javascript ファイルをエンキューする必要があるとしましょう。これは、使用されているテーマに関係なく発生するはずです。次のサンプル プラグインは、ページMap
とフロント ページに
SWFObject (WP にバンドルされている) を読み込みます。どちらにも SWF Flash 埋め込みが含まれているためです。また、サイトの残りの部分では、Google CDN から WebFont Loader をロードし、プラグイン フォルダー内から CSS ファイルをロードします。
<?php
/** Plugin Name: My Enqueue Plugin */
add_action( 'wp_enqueue_scripts', 'enqueue_so_16354990' );
function enqueue_so_16354990() {
global $post;
if( $post->post_name == 'map' || is_front_page() ) {
// Enqueue bundled script
wp_enqueue_script( 'swfobject' );
}
else {
// Enqueue from external location
wp_enqueue_script(
'my-web-font',
'//ajax.googleapis.com/ajax/libs/webfont/1.4.2/webfont.js',
array( 'jquery' ), // Dependencies
time(), // Version, use time to prevent caching
true // Enqueue on footer
);
// Enqueue from within plugin directory
wp_enqueue_style( 'my-css', plugins_url( 'css/my-plugin.css', __FILE__) );
}
}
/wp-content/uploads
ここで、テーマまたはプラグインはユーザーがアップロードしたすべてのコンテンツを配置する必要があるため、WP メディア ライブラリ画面から管理できます。また、コンテンツは、テーマの切り替えやプラグインの非アクティブ化に耐えなければなりません.
/wp-content/custom-folder
多くの画像ギャラリー プラグインは、このアプローチを使用してカスタム メディア ライブラリを保存します。
もう 1 つの用途は、カスタム ユーザー テーマがこのフォルダーに配置されるモバイル テーマです。プラグインの更新時に失われないようにします (プラグインまたはテーマ フォルダー内のすべてがアップグレード時に置き換えられるため)。