Wordpress主题,无法在scripts.php中找到样式表

时间:2014-09-16 09:52:10

标签: wordpress wordpress-theming

(我正在阅读本书" Bootstrap站点蓝图"我现在在第3章。它介绍了如何使用Roots作为Wordpress的起始主题。) 我正在为Wordpress创建自定义主题,当我尝试通过修改scripts.php来连接到我自己的样式表时遇到了问题。

这是我的文件结构:

|bootstrappin-theme
   |assets
       |css
           |main.css
   |lib
       |scripts.php

以下是scripts.php

中的相关代码
if (WP_ENV === 'development') {
   $assets = array(
      'css'       => '/assets/css/main.css',
      'js'        => '/assets/js/scripts.js',
      'modernizr' => '/assets/vendor/modernizr/modernizr.js',
      'jquery'    => '//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.js'
  );
} 
else {
    $get_assets = file_get_contents(get_template_directory() . '/assets/manifest.json');
    $assets     = json_decode($get_assets, true);
    $assets     = array(
      'css'       => '/assets/css/main.min.css?' . $assets['assets/css/main.min.css']['hash'],
      'js'        => '/assets/js/scripts.min.js?' . $assets['assets/js/scripts.min.js']['hash'],
      'modernizr' => '/assets/js/vendor/modernizr.min.js',
      'jquery'    => '//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'
    );
}

wp_enqueue_style('roots_css', get_template_directory_uri() . $assets['css'], false, null);

然后我检查了浏览器,发出404错误请求" main.css"从请求日志中读取的URL:" 127.0.0.1/wordpress/assets/css"


所以我将css的路径从'/assets/css/main.css'更改为

'/wp-content/themes/bootstrappin-theme/assets/css/main.css'

现在看起来像:

if (WP_ENV === 'development') {
$assets = array(
  'css'       => '/wp-content/themes/bootstrappin-theme/assets/css/main.css',
...
wp_enqueue_style('roots_css', get_template_directory_uri() . $assets['css'], false, null);

然而,它仍然是404错误,奇怪的是,当我在浏览器中检查路径时,main.css的路径仍然是

的main.css

127.0.0.1/wordpress/assets/css

我发现的棘手部分是,路径输出永远不会到达我的bootstrappin-theme文件夹及其

行为很奇怪。


Examlpe 1

例如,如果我将scripts.php中的代码更改为

/wp-content/themes/bootstrappin-theme-example/assets/css/main.css

浏览器中的路径输出将忽略/wp-content/themes/bootstrappin-theme-example之前的所有内容,它将如下所示:

127.0.0.1/wordpress/assets/css

是的,就像以前一样。


示例2

如果我将代码更改为

/wp-content/themes-example/bootstrappin-theme/assets/css/main.css

输出将是:

127.0.0.1/wordpress/wp-content/themes-example/bootstrappin-theme/assets/css/main.css


提前谢谢。

1 个答案:

答案 0 :(得分:0)

已经回答here

要避免这种情况,请修改 /wp-content/themes/bootstrappin-theme/lib/config.php 然后将这一行(通常是第6行)转到评论:

// add_theme_support('rewrites');