WordPress实时搜索和筛选自定义域

时间:2020-05-04 作者:jeno

我有以下代码用于获取、过滤和显示输入时的自定义帖子(onkeyup)。然而,它目前不起作用;打开控制台时,我还得到一个500(内部服务器错误)。我错过了什么?

PHP:` add\\u action(\'wp\\u ajax\\u data\\u fetch\',\'data\\u fetch\');add\\u action(\'wp\\u ajax\\u nopriv\\u data\\u fetch\',\'data\\u fetch\');函数data\\u fetch(){

   $the_query = new WP_Query( array( \'posts_per_page\' => 6, \'s\' => esc_attr( 
  $_POST[\'keyword\'] ), \'post_type\' => \'custom_post\' ) );
  if( $the_query->have_posts() ) :
    while( $the_query->have_posts() ): $the_query->the_post(); ?>
  <div class="cell s_result_box">
            <div class="title"><a href="<?php echo esc_url( post_permalink() ); ?>"><?php 
             the_title();?></a></li></div>

            <div class="content"><?php the_content(); ?></div>
            <div class="meta"><span class=""><?php the_post_meta() ?></span> - <span 
            class=""><?php get_the_date(); ?></span></div>
            <div class="dividerline"></div>
            </div>
        </div>
       <?php endwhile; ?>

   add_action( \'wp_footer\', \'ajax_fetch\' );
   function ajax_fetch() {
   ?>
   <script type="text/javascript">
function fetchResults() {
    var keyword = jQuery(\'#searchInput\').val();
    if(keyword == "" || keyword == 0){
        jQuery(\'#datafetch\').html( " " );
        jQuery("#search-message").fadeIn();
        return;
    } else {
        jQuery("#search-message").fadeOut();
        jQuery.ajax({
            url: \'<?php echo admin_url(\'admin-ajax.php\'); ?>\',
            type: \'post\',
            data: { action: \'data_fetch\', keyword: keyword  },
            success: function(data) {
                jQuery(\'#datafetch\').html( data );
            }
        });
    }

}
</script>

      //The search form and results div
      <form class="t_margin_0" autocomplete="off">
              <input type="search" name="s" class="t_margin_0 dir_search" 
        placeholder="Search by name, location, department…" id="searchInput" 
        onkeyup="fetchResults()">
            </form>

     <div class="grid-x" id="datafetch"></div>`

1 个回复
SO网友:shanebp

500错误表示您的ajax url不工作。尝试使用外部js文件和wp_localize_script

More info in the codex.

相关推荐

WooCommerce使用AJAX添加到购物车数量按钮

我在每个页面(产品页面、单个产品页面)上都有加减按钮,旁边是要添加的数量,按钮旁边是AJAX中的添加到购物车图标。我想不出两个问题:Issue 1: 我的加号和减号按钮加起来是一个奇怪的总和,而不是+1和-1。当我点击+时,它会增加35(猜测将页面上的产品总数相加,并将其添加到数量中)Issue 2: 当我单击“添加到购物车”按钮时,即使数量是2、3或10,它也只添加1,而不是数量字段中的金额。woocommerce/global/quantity-input.php<?php if ( ! def