我想在 functions.php 中获取当前页面 ID 以运行我的 meta_query 条件。我一直没能做到这一点,并尝试了几个预定义的 WordPress 函数,但总是失败。我需要在循环外获取当前页面 ID。有人可以帮我找到解决这个问题的方法吗?
$current_page_id = get_the_ID(); // I want to display the current page id here and get_the_ID is not working.
这里是 functions.php 文件。
add_action('wp_ajax_myfilter', 'filter_function');
add_action('wp_ajax_nopriv_myfilter', 'filter_function');
function filter_function(){
global $post, $wp_query;
$order = explode( '-', $_POST['misha_order_by'] );
$today_date = date('Ymd');
$current_page_id = get_the_ID();
$template_event_id = get_post_meta($current_page_id, 'event_id' ,true);
$params = array(
'post_type' => 'lodging-promo',
'posts_per_page' => $_POST['misha_number_of_results'],
'order' => $order[1],
'orderby' => 'meta_value_num title',
'meta_key' => $order[0],
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'promo_event_id',
'value' => 26809,
'compare' => '='
),
array(
'key' => 'offer_end_date',
'compare' => '>',
'value' => $today_date,
)
)
);
query_posts( $params );
global $wp_query;
if( have_posts() ) :
ob_start();
while( have_posts() ): the_post(); ?>
<div class="lodging-sec item <?php echo strtolower(get_field('property_type')); ?>" id="">
<div class="col-md-5 promos-center">
<h3>
<?php if(get_field('business_name', $post->ID)){?>
<?php echo get_field('business_name', $post->ID);?>
<?php } ?>
</h3>
<p class="event-offer">Rates*: $<?php the_field( 'starting_rate' ); ?> - $<?php the_field( 'maximum_daily_rate' ); ?></p>
<span class="daily-rate-info">*Rate ranges are based on room type & day of week. Contact partner for more info.</span>
<p><?php echo wp_trim_words( get_the_content(), 33, '...' ); ?></p>
<a href="<?php echo get_field('booking_url', $post->ID);?>" class="book-btn" target="_blank">Book Now</a>
<div class="promo-data">
</div>
</div>
<div class="col-md-3 promos-left">
<div class="promo-edate">
<span class="end-date-promo"><strong>Property Type:</strong> <?php echo get_field( 'property_type', $post->ID ); ?></span>
<!-- <span class="end-date-promo"><strong>Starting Rate:</strong> $ <?php echo get_field( 'starting_rate', $post->ID ); ?></span> -->
<span class="end-date-promo"><strong>Distance from LeConte Center:</strong> <?php echo get_field( 'distance_from_leconte_center', $post->ID ); ?> Miles</span>
<span class="end-date-promo"><strong>Address:</strong> <?php echo get_field( 'address', $post->ID ); ?></span>
<span class="end-date-promo"><strong>Phone Number:</strong> <?php echo get_field( 'phone_number', $post->ID ); ?></span>
<span class="end-date-promo"><strong>Promo Code:</strong> <?php echo get_field( 'promo_code', $post->ID ); ?></span>
<span class="end-date-promo"><strong>Offer End Date:</strong> <?php echo get_field( 'offer_end_date', $post->ID ); ?></span>
</div>
</div>
<div class="col-md-4 promos-right">
<?php if ( has_post_thumbnail() ) { ?><img src="<?php echo get_the_post_thumbnail_url(); ?>" alt="" class="img-lodging-sec"><?php } ?>
</div>
</div>
<?php endwhile;
endif;
die();
}