IS_FROWN_PAGE在函数中不起作用。php

时间:2017-10-10 作者:LindaH53

我正在尝试包含一个使用wp\\u enqueue\\u样式的CSS文件,这取决于我是否在头版。我正在使用以下代码测试主页:

if ( is_front_page() ) wp_enqueue_style (\'TBDhome\', get_template_directory_uri() . \'/css/TBDhome.css\',\'all\');
当我在头文件中进行测试并包括CSS文件时,它工作得很好。

3 个回复
最合适的回答,由SO网友:disinfor 整理而成

尽管这个问题可能会被否决——因为没有提供足够的信息,而且在其他地方很容易找到教程,我还是会帮你的。

在您的functions.php 在主题中,您需要执行以下操作:

add_action( \'wp_enqueue_scripts\', \'wp5849_scripts\' );
function wp5849_scripts() {
    if ( is_front_page() ) :
        wp_enqueue_style(\'TBDhome\', get_stylesheet_directory_uri() . \'/css/TBDhome.css\');
    endif;
}
这是在做什么:第一行add_action 是运行函数的钩子wp5849_scripts() 在WordPress内部设置过程中的某一点。您可以在WordPress codex.

第二部分是将样式表排队的实际函数。检查是否是网站的首页,如果通过,它将加载样式表。

我将目录更新为get_stylesheet_directory_uri() 因为如果您使用的是子主题,get_template_directory_uri() 将返回PARENT 主题目录。get_stylesheet_directory_uri() 将使用当前活动的任何主题(父或子)。

您可以阅读有关传递给的参数的更多信息wp_enqueue_style here

请注意:您可能已经有一个函数将脚本和样式排队到functions.php (查找add_action( \'wp_enqueue_scripts\') 挂钩)。如果是这种情况,您只需添加:

if ( is_front_page() ) :
        wp_enqueue_style(\'TBDhome\', get_stylesheet_directory_uri() . \'/css/TBDhome.css\');
endif;
对于add_action 正在呼叫。我想将此添加为一个选项。

EDIT:根据OP评论,可能会有更大的主题问题或设置问题。这里有一个将样式表放置在标题中的选项。php

if ( is_front_page() ) {
    echo \'<link rel="stylesheet" id="TBDHome-css"  href="\' . get_stylesheet_directory_uri() . \'/css/TBDhome.css" type=\'text/css\' media=\'all\' />
}

SO网友:Nathan Johnson

is_front_page() 将在wp挂钩之前返回false,因为wp 对象尚未设置。

//* If placed directly in functions.php, this will work
add_action( \'wp\', \'wpse_282498_wp\' );
function wpse_282498_wp() {
  if( is_front_page() ) {
    do_something_useful();
  }
}

//* If placed directly in functions.php, this will *not* work
if( is_front_page() ) {
  //* Because this will never be run
  do_something_useful();
}

SO网友:Pmk

检查是否已创建首页。根文件夹中的php。

结束

相关推荐

Functions.php中的入队样式

这对我没用functions.php: if( is_page_template( \'template-flat.php\' ) ) { function flatsome_scripts() { wp_enqueue_style( \'flatsome-style\', get_template_directory_uri() .\'/flatash/css/foundation.css\', array(), \'2.1\', \'all\'); }