我正在尝试在函数中添加动作挂钩。仅当页面为home.php
但以下方法不起作用
if ( is_page_template("home.php") ) {
// do stuff
}
确保正在使用的文件home.php
我这样做global $template; echo $template;
我正在尝试在函数中添加动作挂钩。仅当页面为home.php
但以下方法不起作用
if ( is_page_template("home.php") ) {
// do stuff
}
确保正在使用的文件home.php
我这样做global $template; echo $template;
使用is_home
相反,作为is_page_template
不适用于home.php
因为从技术上讲,它不是传统意义上的页面模板。
add_action(\'template_redirect\', \'are_we_home_yet\', 10);
function are_we_home_yet(){
if ( is_home() ) {
//your logic here
}
}
修订日期:add_action(\'template_redirect\', \'are_we_home_yet\', 10);
function are_we_home_yet(){
global $template;
$template_file = basename((__FILE__).$template);
if ( is_home() && $template_file = \'home.php\' ) {
//do your logic here
}
}
修改后的答案实际上是您真正需要的,它将检查您是否在主页上,此外还将包括模板文件,并检查该文件是否确实是您的home.php
如果是这样,你可以继续你的逻辑。。。我有这个问题。我只想在加载主页时包含Jssor滑块脚本。我用的是home.php 我也是这样解决的:
重命名我的home.php 归档到其他文件,例如home_mysite.php 在文件顶部的注释标题处设置此页面模板的名称,如:
/** * Template Name: Home */<然后我创建了一个新的空页设置Home 作为页面模板Settings > Reading > A static page > Front page: Home) is_page(\'home\') 工作。(“主页”是我的空新主页,slug)。也就是说,当我试图有条件地添加操作时,我无法验证我的主页是否正在加载,
is_page(\'home\')
始终返回false
. 当我改变总是添加动作但有条件地将脚本排队的逻辑时,它就起作用了计算出的代码functions.php:function mysite_jssor() {
//conditionally enqueue the script
if ( is_page(\'home\') ) {
wp_enqueue_script( \'jssor\', get_stylesheet_directory_uri() . \'/js/jssor.js\', array( \'jquery\' ), false, false );
}
}
//always adds the action
add_action( \'wp_enqueue_scripts\', \'mysite_jssor\' );
这样,我的Jssor脚本只在访问主页时加载,而不是访问其他页面或帖子时加载。您需要的功能是is_front_page()
add_action(\'template_redirect\', \'work_only_on_front_page\', 10);
function work_only_on_front_page(){
if ( is_front_page() ) {
// Your code
}
}
我想知道是否有一种方法可以使用Wordpress管理工具提示(灰色和蓝色),当你更新你的Wordpress(3.x)时会显示这些提示。显示新功能。谢谢