WordPress 生态系统中的正确位置是文件夹wp-content
,因为这是您在进行 WP 升级、恢复或迁移时保留的文件夹。
在该文件夹中,它可以是主题 ( /themes
)、插件 ( /plugins
)、上传文件 ( /uploads
) 的一部分,或者,如果情况需要,自定义文件夹 ( /my-custom-content
)。
/wp-content/themes/your-theme
在这里,所有与演示相关的代码。将通用功能代码放在主题的functions.php
. 在这个文件中放置自定义函数之前要问的第一个问题是:
如果我改变我的主题,我需要这个函数吗?
请参阅:将我的代码放在哪里:插件或functions.php?
/wp-content/plugins/your-plugin
假设您需要将一些 CSS 或 Javascript 文件排入队列,无论使用什么主题,这都应该发生。
以下示例插件将在页面地图和首页中加载 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
许多图片库插件使用这种方法来存储他们的自定义媒体库。
另一个用途是移动主题,其中自定义用户主题放置在此文件夹中,因此不会在插件更新时丢失它(因为插件或主题文件夹中的所有内容都会在升级时被替换)。