让我说我知道这个主题有很多问题,但是我无法解决它。我有一个Wordpress网站,用于开发其主题。在其中一个页面中,我有一个多步骤过程,需要根据页面3上的用户选择在步骤4上显示内容。问题是,阶段4的内容需要使用WP_Query从Wordpress中检索。
长话短说,我正在尝试设置用户在全局变量中第3步上单击的项目的ID,并在第4步(两个步骤都在同一php文件上)中访问它。
AJAX调用有效,但是全局变量只是未更新。我真的迷路了,不胜感激。
Functions.php
add_action('wp_ajax_set_location', 'tft_handle_ajax_request');
add_action('wp_ajax_nopriv_set_location', 'tft_handle_ajax_request');
function tft_handle_ajax_request()
{
global $selected_location;
$id = isset($_POST['location_id']) ? trim($_POST['location_id']) : "";
global $selected_location;
$selected_location = $id;
exit;
}
第4步
<?php
global $post, $designer_ids, $designer_id, $selected_location;
$post_id = $post->ID;
$main_title = get_field('main_title');
if (!$main_title) $main_title = get_the_title();
$logo = get_field('logo', 'option');
$args = ['post_type' => 'designer', 'posts_per_page' => -1, 'fields' => 'ids', 'meta_key' => 'des_location', 'meta_value' => $id];
$des_loop = new WP_Query($args);
$des_ids = [];
if ($des_loop->have_posts()) $des_ids = $des_loop->posts;
?>
<div class="step_item step_details">
<div class="step_in">
<div class="step_title_wrap">
<div class="container">
<div class="row">
<div class="col-12">
<div class="step_title">
<h2><?php _e('myTitle'); ?></h2>
<label class="selected_loc_label"><?php echo $selected_location ?></label>
</div>
</div>
</div>
</div>
</div>
<div class="step_content">
<div class="designers_wrap">
<?php if ($des_ids) { ?>
<?php $designer_ids = $des_ids; ?>
<div class="container">
<div class="row">
<div class="col">
<?php get_template_part('elements/designers/designers_slider'); ?>
</div>
</div>
</div>
<?php $designer_id = $designer_ids[0]; ?>
<?php get_template_part('elements/designers/designer'); ?>
<?php $designer_id = null; ?>
<?php $designer_ids = null; ?>
<?php } ?>
</div>
</div>
</div>
</div>
functions.php 中的 $id
具有正确的值,但是当我回显$selected_location
时,什么也没有显示。