gpt4 book ai didi

php - 如何根据 is_page() 条件标记在 Wordpress 上为不同页面排队多个 css 和 js 文件?

转载 作者:行者123 更新时间:2023-12-03 22:56:23 28 4
gpt4 key购买 nike

我是 PHP/WordPress 的新手,我想在这里做的是使用 is_page() 将不同的 css 和 js 文件排入不同的页面。有条件的。

虽然我相信这是一个广泛讨论的话题,但我仍然没有找到一种巧妙的方法来将多个文件 (css/js) 一起放入队列,然后设置 is_page() 条件,以便其中一些文件可以在每个“不同页面的基础上”排队。

以下代码在我的主题上运行良好,但是,我想知道是否有更好的方法来实现它。我真的很感激关于这个问题的一些指导。文本文件。

// To register my css styles I use the function below:

function enqueue_extra_styles()
{
wp_register_style( 'custom-style', get_stylesheet_directory_uri() . '/css/custom-style.css', array(), '1', 'all' );
wp_register_style( 'second-custom-style', get_stylesheet_directory_uri() . '/css/second-custom-style.css', array(), '1', 'all' );
wp_register_style( 'third-custom-style', get_stylesheet_directory_uri() . '/css/niceforms/third-custom-style.css', array(), '1', 'all' );

if ( is_page('8')) {
//bellow styles will be enqueued only on a page of id=8

wp_enqueue_style('custom-style');
wp_enqueue_style( 'second-custom-style' );
}

//bellow style will be enqueued only on a page of id=2111

if ( is_page('2111')){
wp_enqueue_style('third-custom-style');
}

}

add_action('wp_enqueue_scripts', 'enqueue_extra_styles');



// To register my js files I use the function below:

function my_extra_jscripts()
{
wp_register_script('custom-script', get_template_directory_uri().'/js/custom-script.js', array('jquery'), '', TRUE);

wp_register_script('second-custom-script', get_template_directory_uri().'/js/second-custom-script.js', array('jquery'), '', TRUE);

if ( is_page('8')){
wp_enqueue_script('custom-script');
}

if ( is_page('2111')){
wp_enqueue_script('second-custom-script');
}
}
add_action('wp_enqueue_scripts', 'my_extra_jscripts');

正如其他用户所建议的,有几种方法可以优化上面的代码。我看过这个answer而且我发现它在优化方面非常有前途,但是,我想实现的是在编写 php“if conditional”时更好的方法......我的意思是,在按照用户 Jeffrey 还建议的那样优化代码之后,要做什么如果我有超过 1 页的文件要排队,请执行下一步,例如:4 页?我应该一直写“if ( is_page('')) {}”这种循环结构吗?

最佳答案

你实际上可以这样写你的脚本:

<?php
function custom_scripts_method() {
wp_register_style( 'custom-style', get_stylesheet_directory_uri() . '/css/custom-style.css', array(), '1', 'all' );
wp_register_style( 'second-custom-style', get_stylesheet_directory_uri() . '/css/second-custom-style.css', array(), '1', 'all' );
wp_register_style( 'third-custom-style', get_stylesheet_directory_uri() . '/css/niceforms/third-custom-style.css', array(), '1', 'all' );

wp_register_script('custom-script', get_template_directory_uri().'/js/custom-script.js', array('jquery'), '', TRUE);
wp_register_script('second-custom-script', get_template_directory_uri().'/js/second-custom-script.js', array('jquery'), '', TRUE);

if ( is_page('8')) {
wp_enqueue_style('custom-style');
wp_enqueue_style( 'second-custom-style' );

wp_enqueue_script('custom-script');
}
}

add_action( 'wp_enqueue_scripts', 'custom_scripts_method' );
?>

wp_enqueue_scripts 接受 css 和 jquery 入队。

干杯!

关于php - 如何根据 is_page() 条件标记在 Wordpress 上为不同页面排队多个 css 和 js 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21966186/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com