gpt4 book ai didi

php - wp_footer() 没有 wp_head() 就不能工作?

转载 作者:搜寻专家 更新时间:2023-10-31 21:08:36 25 4
gpt4 key购买 nike

我正在使用简单的 ajax 方法在 wordpress 站点中加载内容:我捕捉到对导航链接的点击并将 GET 参数添加到 url:

jQuery('#topnav a').click(function(e){
e.preventDefault();
url = jQuery(this).attr('href');
jQuery.ajax({
type: 'GET',
url: url,
data: 'naked=1', // my parameter
dataType: 'html',
success: function(data){
jQuery('#content').html(data); // load new content
});
}
});
});

在我检查 wordpress 模板中的这个参数之后,如果这个参数存在,我不包括页眉和页脚并加载裸内容:

<?php
/**
* page.php
* @package WordPress
* @subpackage clean
*/
if (!isset($_GET['naked'])) get_header(); // if parameter exist do not load header ?>
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); // cycle wp start ?>
<h1><?php the_title(); ?></h1>
<?php the_content(); ?>
<?php endwhile; // cycle wp end
if (!isset($_GET['naked'])) get_footer(); // if parameter exist do not load footer ?>

此方法工作正常,但如果页面包含 contactform7 短代码,ajax 提交表单将不起作用,因为 footer.php 不包含表单的 js 人员。

我尝试将 wp_footer() 函数放入 page.php,但函数没有为表单添加 js 脚本! 如果我也将 wp_head() 放入 page.php - wp_footer() 工作正常。

请有任何想法。

最佳答案

如果你查看 line 200 of wp-includes/default-filters.php ,您会注意到脚本与 wp_head 一起排队.

这就是您的脚本无法正常工作的原因。 wp_head()是 Contact Form 7 正常运行的关键功能。您还需要包括 wp_head() , 但不需要包含 wp_header()为了实现这一点。例如,以下内容应保持“裸”状态,但仍允许加载脚本:

if ( !isset($_GET['naked']) ) {
get_header(); // if parameter exist do not load header
} else {
wp_head(); // still include wp_head(), but without the rest of the "header"
}

确保wp_head()仍在您的文档中运行 <head></head>部分。

关于php - wp_footer() 没有 wp_head() 就不能工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27417519/

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