仅加载到联系人模板页面

时间:2012-09-17 作者:Mike Vierwind

在页脚中,我加载了Google maps api。但仅在联系人页面上,我使用了谷歌地图api。现在我想编写代码。google maps api仅加载在联系人模板页面中。我怎么才能做到呢。

这是页脚中的脚本标记。

 <script type="text/javascript" src="//maps.google.com/maps/api/js?v=3&amp;sensor=false"></script>
那个脚本标签。只能在模板联系人页面中加载。

谢谢你的帮助

3 个回复
SO网友:Daniel Sachs

首先有一点建议(因为解决方案是基于它的)-始终“排队”您的脚本,而不仅仅是将它们添加到页脚中。Read this, 例如现在,在特定template, 因为这是你想要的:

function enqueue_themescrits()
{
    if ( is_page_template(\'contact.php\') ) { //the file your contact page uses
         wp_register_script( \'google_maps\', \'http://maps.google.com/maps/api/js?v=3&amp;sensor=false\' );
         wp_enqueue_script( \'google_maps\' );
    }
    //Your other enqueued scripts

}
add_action( \'wp_enqueue_scripts\', \'enqueue_themescrits\' );
EDIT: 将此添加到您的函数中。php

SO网友:kaiser

你有»Conditional Tags« 在WordPress中。这些允许您确定某些条件是否满足(基本上是$wp_query 对象,仅使用公共API函数包装)。

详细说明:有is_page(), 这会告诉你是否在所需页面上,而不是。

因此,只需将其包装成一个函数,在右钩子处钩住,如果不在所需页面上,则中止。

下面介绍您的功能。php文件(或小型自定义插件)。

/** Plugin Name: Register Google Maps Script */
function wpse65356_enqueue_gmaps()
{
    if ( ! is_page( \'contact\' ) )
        return;

    wp_enqueue_script(
         \'google-maps\'
        ,\'maps.google.com/maps/api/js?v=3&amp;sensor=false\'
        ,array()
        ,0
        ,true
    );
}
add_action( \'wp_enqueue_scripts\', \'wpse65356_enqueue_gmaps\' );

SO网友:janw

Javascript(和css)应添加wp_enqueue_script.
Register 脚本,但尚未将其放入队列functions.php.

在之前调用联系人模板页面上的排队wp_head(),
应位于header.php 所以之前get_header().

registeringqueueing 一开始很困惑这里有一个tutorial

结束

相关推荐

由于wp_footer(),在加载网站之前延迟了很长时间

这听起来可能很奇怪,但这就是我的网站真正发生的事情。虽然在我的站点开始加载之前就投入了长时间的延迟,但在搜索了问题的根源很长时间后,我发现如果我从页脚模板中删除wp\\u footer(),站点将正常加载。即使我停用所有插件并尝试加载站点,并在模板中保留wp\\u footer(),也会出现这种延迟。您可以在我的网站上看到:http://www.vps.cadetcollegeblog.com如果有人告诉我这种奇怪行为的原因并帮助解决它,我将不胜感激。提前谢谢。