如何在本地成功使用wordpress的浏览器同步?

时间:2014-01-21 11:21:19

标签: wordpress nginx responsive-design

我正在努力让browser-sync使用我的多重wordpress安装,以实现更简单的移动/响应式开发。

目前我遇到了问题,我的正常开发发生在local.example.com,浏览器同步正在代理此问题(通过123.456.78.9:3202,根据浏览器同步)。

到目前为止,浏览器同步加载了网站,但我的脚本或CSS都没有加载(尽管图像加载正常)。他们在网络面板中没有响应而失败。

我使用NGINX来托管网站,而不是apache。

有没有人有任何wordpress浏览器同步体验?我错过了浏览器同步设置的内容吗?对此的提示将非常受欢迎。我很乐意将此作为我工作流程的重要组成部分。

1 个答案:

答案 0 :(得分:1)

问题在于wordpress如何处理URL,因为它通常使用完整的URL来包含内容和链接等。

代理正试图在另一个域上访问这些,这就是它失败的原因。

<强>更新 一个简单,清洁和可维护的策略,也有助于开发环境,是使用Root Relative URLs plugin。添加类似于下面的钩子和配置,但也更新你的内容和编辑器以应用相同的结构,所以它更健壮

原始答案 您可以添加一个简单的钩子(来源:wordpress relative urls)来过滤wordpress生成的URL并删除基域,以便获得样式和帖子等的相对链接:

 $relative_url_filters = array(
        'script_loader_src', //js
        'style_loader_src', //css
        'post_link',       // Normal post link
        'post_type_link',  // Custom post type link
        'page_link',       // Page link
        'attachment_link', // Attachment link
        'get_shortlink',   // Shortlink
        'post_type_archive_link',    // Post type archive link
        'get_pagenum_link',          // Paginated link
        'get_comments_pagenum_link', // Paginated comment link
        'term_link',   // Term link, including category, tag
        'search_link', // Search link
        'day_link',   // Date archive link
        'month_link',
        'year_link'
        );

    foreach ( $relative_url_filters as $relative_url_filters ) {
        add_filter( $relative_url_filters, 'wp_make_link_relative' );
    }

哪个应该清理你的大多数问题并使浏览器同步工作得很好。

我仍然遇到一些问题,我对图像有更复杂的内容,但是它或多或少都在工作,我们已经看到它有多酷了!