gpt4 book ai didi

javascript - 在 WP 页面模板上运行函数 - is_page_template

转载 作者:行者123 更新时间:2023-11-30 12:09:38 25 4
gpt4 key购买 nike

我正在尝试在特定的 WP 页面模板上运行一个函数。具体的页面叫做archive.php

这是我目前在 functions.php

中的内容
if ( is_page_template( 'bloginfo("stylesheet_directory")/archive.php' ) ) {
function add_isotope() {
wp_register_script( 'isotope', get_template_directory_uri().'/js/isotope.pkgd.min.js', array('jquery'), true );
wp_register_script( 'isotope-init', get_template_directory_uri().'/js/isotope-hideall.js', array('jquery', 'isotope'), true );
wp_enqueue_script('isotope-init');
}

add_action( 'wp_enqueue_scripts', 'add_isotope' );
} else {
function add_isotope() {
wp_register_script( 'isotope', get_template_directory_uri().'/js/isotope.pkgd.min.js', array('jquery'), true );
wp_register_script( 'isotope-init', get_template_directory_uri().'/js/isotope.js', array('jquery', 'isotope'), true );
wp_enqueue_script('isotope-init');
}

add_action( 'wp_enqueue_scripts', 'add_isotope' );
}

函数之间的区别在于isotope-hideall,它在页面加载时隐藏所有类别。当不使用 if/else 时,它会在加载页面时隐藏所有页面模板中的所有类别,这不是我想要的。因此,我使用 if/else 来定位正确的页面模板。

我尝试了以下方法,但似乎没有任何效果:

is_page_template( 'archive.php' )

is_page_template( 'get_template_directory_uri()'.'/archive.php' )

我是不是做错了什么,或者您对此有有效的解决方案吗?

页面可以找到here .

最佳答案

正如 Pieter Goosen 指出的那样,archive.php 保留用于内置 WordPress 功能。将文件重命名为其他名称,例如 archives.php 并确保在文件顶部命名自定义页面模板:

<?php /* Template Name: Archives */ ?>

只要它位于模板文件夹的根目录下,您的代码就可以与 is_page_template('archives.php') 一起使用。如果不在文件名前添加任何文件夹结构,如下所示:/folder/folder2/archives.php

为了避免重复这个函数两次,你还应该考虑像这样解决这个问题:

 function add_isotope( $isotope ) {
wp_register_script( 'isotope', get_template_directory_uri().'/js/isotope.pkgd.min.js', array('jquery'), true );
wp_register_script( 'isotope-init', get_template_directory_uri().'/js/' . $isotope . '.js', array('jquery', 'isotope'), true );
wp_enqueue_script('isotope-init');
}

add_action( 'wp_enqueue_scripts', 'add_isotope' );

if ( is_page_template( 'archives.php' ) :
add_isotope( 'isotope-hideall' );
else :
add_isotope( 'isotope' );
endif;

关于javascript - 在 WP 页面模板上运行函数 - is_page_template,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34178654/

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