Wordhost样式未在localhost上加载

时间:2015-11-08 13:24:28

标签: wordpress iis wamp

我已经同时运行IIS和WAMP。他们听不同的端口,一切都很好,直到我将一个wordpress网站从localhost移动到godaddy。现在当我加载http://localhost:8080/wordpress/#(这是wamp服务器)时,所有样式都没有被加载。 wordpress网站位于www文件夹中。 我正在加载样式表:

<link type="text/css" rel="stylesheet" href="<?php echo trailingslashit( get_bloginfo('template_url') ); ?>style.css" media="screen" />

浏览器呈现:

<link type="text/css" rel="stylesheet" href="localhost:8080/wordpress/#/wp-content/themes/ParvanTheme/style.css" media="screen">

路径正确。

知道如何解决这个问题吗?

我尝试在apache上创建虚拟主机。

<VirtualHost *:8080> ...

即使IIS侦听80和WAMP到8080,虚拟主机仍会打开IIS。

1 个答案:

答案 0 :(得分:0)

路径不正确,我几乎不相信带有哈希符号的URL确实会链接到服务器上的物理文件夹,如果它确实存在,那么你可能会运行一些我认为GoDaddy没有的奥术配置。 / p>

此外,您没有正确加载样式表。在Wordpress中,永远不会在header.php文件中手动输入样式表,因为这个特定的原因,你绕过了wp_head()函数。这可能会让你在将来遇到其他无穷无尽的疯狂问题。

加载样式表的正确方法是在主题文件夹中的functions.php文件中注册和排队样式文件。

您可以通过以下方式将注册/入队挂钩到wp_enqueue_scripts操作:

/**
 * Proper way to enqueue scripts and styles
 */
function theme_name_scripts() {
    wp_enqueue_style( 'style-name', get_stylesheet_uri() );
    wp_enqueue_script( 'script-name', get_template_directory_uri() . '/js/example.js', array(), '1.0.0', true );
}

add_action( 'wp_enqueue_scripts', 'theme_name_scripts' );

get_stylesheet_uri()直接指向你的style.css,坐在主题文件夹上,如果你需要附加其他CSS文件,你可以按照JS排队的例子。

Wordpress Codex是您的朋友,您需要有关wp_enqueue_style()的参数的更多信息,您可以在Codex的相关页面上仔细阅读:https://codex.wordpress.org/Function_Reference/wp_enqueue_style

现在,关于IIS / WAMP问题。如果在8080打开浏览器,您仍然可以看到IIS启动页面可能是因为IIS已占用8080端口,如果是这种情况,Apache应该通知您它无法启动,因为8080绑定到另一个正在使用的端口。我可以建议您在使用WAMP时停止IIS,或者移动Apache以便为您系统上未使用的另一个端口提供服务。

如果所有其他方法都失败了,你可以配置IIS来运行PHP和Wordpress,但请记住,这需要在IIS上进行一些调整,而这里的.htaccess文件根本不起作用(你需要手动编写规则) web.config文件)。