小编use*_*227的帖子

在刷新时使 AJAX 分页与 (AJAX) URL 过滤器参数一起工作

我有一个定义明确的 AJAX 过滤器,分为两部分,一部分用于加载更多按钮,另一部分用于选择下拉过滤器。两者都在 AJAX 中重新加载前端的属性列表,并协同工作(例如,如果我在下拉列表中选择了最低价格、最高价格和床位数量,则列表会刷新,并且加载更多按钮可以正常工作) .

相同的过滤器也适用于 URL 参数。例如,如果 URL 是:

mydomain.com/?min_price=100000&max_price=5000000&beds=3&page=3
Run Code Online (Sandbox Code Playgroud)

它将按这些参数进行过滤。它甚至显示了 3 页价值的属性。这很好用,包括在初始加载时。但是,它不适用于分页,如果 URL 是直接加载的。如果我直接在浏览器中输入上面的 URL 并加载,初始结果是正确的,但是在单击加载更多按钮时,它将 page=3 更改为 page=4(正确)但它附加了未过滤完成的第二页属性,并继续这样做 - 而不是继续过滤分页。

我究竟做错了什么?

这是我的代码(对不起,它太多了!)

JS:

jQuery(function($){


 // AJAX Stuff for filters + load more button

/*
 * Load More
 */
$('#prop_loadmore').click(function(){

    $.ajax({
        url : prop_loadmore_params.ajaxurl, 
        data : {
            'action': 'loadmorebutton',
            'query': prop_loadmore_params.posts, // loop parameters passed by wp_localize_script()
            'page' : prop_loadmore_params.current_page, // Get the current page

        },
        type : 'POST',
        beforeSend : function ( xhr ) {
            $('#prop_loadmore').text( …
Run Code Online (Sandbox Code Playgroud)

php ajax wordpress jquery

9
推荐指数
1
解决办法
2318
查看次数

修改 Ajax 代码(GIT:Lauren Gray)以使用自定义循环

我一直在使用 Lauren Gray 的这段代码:

https://gist.github.com/graylaurenm/86daa4f23aa8749c0933f72133ac7106

在我的 Wordpress 网站上,它非常适用于主页和存档循环——任何内置在主 wp_Query 中的循环。但是,我创建了一个新的自定义 WP_Query 并且 AJAX 不起作用,单击按钮时显示“找不到更多文章”...

$loop = new WP_Query( array( 
            'post_type' => 'post', 
            'paged' => $paged, 
            'posts_per_page' => 10 
        ) );


    if ( $loop->have_posts() ) :
        while ( $loop->have_posts() ) : $loop->the_post(); 

        remove_action( 'genesis_entry_content', 'genesis_do_post_content' );
        remove_action( 'genesis_entry_header', 'genesis_post_info', 12 );
        remove_action( 'genesis_entry_content', 'genesis_do_post_image', 8 );
        add_action( 'genesis_entry_header', 'genesis_do_post_image', 8 );
        add_action('genesis_entry_header','add_play_button');

        echo '<article class="' . $countClasses . implode( ' ', get_post_class() ) . '">'; // add column class
        do_action( 'genesis_entry_header' …
Run Code Online (Sandbox Code Playgroud)

ajax wordpress loops

5
推荐指数
0
解决办法
75
查看次数

WooCommerce在添加之前检查产品ID的库存

我在WooCommerce网站上有一些自定义代码,可将产品添加到用户购物车中。我已经检查了购物车中的物品以确保购物车中首先有其他产品,但是我还希望它检查要添加的产品是否也有库存...

我想不出最好的方法来做到这一点。如果您可以让我知道要添加到函数中的内容以使其检查“ product_id”的库存以及库存是否大于0,将不胜感激。这是我的代码:

add_action( 'template_redirect', 'add_product_to_cart' );
function add_product_to_cart() {
    if ( ! is_admin() ) {
        $product_id = 21576;
        $found = false;
        global $woocommerce;

        //check if product already in cart

    if ( sizeof( WC()->cart->get_cart() ) > 0 ) {
        foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
            $_product = $values['data'];
            if ( $_product->id == $product_id )
                $found = true;
        }
        // if product not found, add it
        if ( ! $found )
            WC()->cart->add_to_cart( $product_id );

        if (sizeof( WC()->cart->get_cart() ) …
Run Code Online (Sandbox Code Playgroud)

php wordpress product cart woocommerce

3
推荐指数
1
解决办法
5731
查看次数

在自定义 WooCommerce 字段上设置值

希望对你们中的那些知道的人来说是一个简单的。我创建了一个自定义字段,显示在 WooCommerce Checkout 帐单信息上。

function reigel_woocommerce_checkout_fields( $checkout_fields = array() ) {

$checkout_fields['billing']['order_birth_date'] = array(
     'type'          => 'text',
    'class'         => array('my-field-class form-row-wide'),
    'id'            => 'datepicker',
    'required'      => false,
    'name'          => 'jqueryDate',
    'maxlength'     => '8',
    'label'         => __('Date of Birth'),
    'placeholder'       => __('MM/DD/YY'),
    'options'     =>   $mydateoptions,
     'value'            => 'test'
    );

return $checkout_fields;
}
add_filter( 'woocommerce_checkout_fields', 'reigel_woocommerce_checkout_fields' );
Run Code Online (Sandbox Code Playgroud)

这一切都很可爱。

但是,我似乎无法将“值”传递到数组中。它只是不出现。我想为自定义字段设置默认值,但我不知道该怎么做。:(

php wordpress field woocommerce

2
推荐指数
1
解决办法
3959
查看次数

如果隐藏了部分中的所有div,则隐藏该部分

我在里面显示div section.每个部分有多个部分和多个子div.我动态检查下拉字段,如果它们与下拉列表中的选择不匹配,则隐藏子div.这非常有效.

但是,如果隐藏了该部分中的所有div,我现在想要隐藏整个部分.这是我的代码:

JS

if ($("section .listings").length === $("section .listing.h_group").length){
    $('section').hide();
}
Run Code Online (Sandbox Code Playgroud)

HTML

<!-- this section should hide -->
<section class="groups" style="clear:both;">
    <h2 class="group-name">Business Liner</h2>
    <div class="listings h_group></div>
    <div class="listings h_group></div>
    <div class="listings h_group></div>
    <div class="listings h_group></div>
</section>

<!-- This section should show -->
<section class="groups" style="clear:both;">
    <h2 class="group-name">Business Liner</h2>
    <div class="listings h_group></div>
    <div class="listings></div>
    <div class="listings h_group></div>
    <div class="listings></div>
</section>
Run Code Online (Sandbox Code Playgroud)

CSS

.h_group {
    display:none;
}
Run Code Online (Sandbox Code Playgroud)

代码当前在控制台中返回错误:

Uncaught TypeError: Cannot read property 'length' of null
Run Code Online (Sandbox Code Playgroud)

它似乎没有找到该部分,但我无法找出原因.我也认为如果这确实有用,它会隐藏每个部分,但我只想隐藏隐藏所有div的部分.

javascript jquery

1
推荐指数
1
解决办法
64
查看次数

标签 统计

wordpress ×4

php ×3

ajax ×2

jquery ×2

woocommerce ×2

cart ×1

field ×1

javascript ×1

loops ×1

product ×1