Как получить все продукты с нумерацией страниц в WordPress Woo commerce - PullRequest
0 голосов
/ 05 октября 2018

Возможно, эти вопросы уже задавались, но это не помогло для моего вопроса.

Создаю API для моего WordPress проекта.Поэтому я хочу отправить API для получения всех продуктов с нумерацией страниц.

Я получаю список продуктов, используя этот код:

android / all_products.php

<?php
require_once('../wp-load.php');
$args = array(
    'post_type'      => 'product',
    'posts_per_page' => 10
);

$loop = new WP_Query( $args );

while ( $loop->have_posts() ) : $loop->the_post();
    global $product;
    echo '<br /><a href="'.get_permalink().'">' . woocommerce_get_product_thumbnail().' '.get_the_title().'</a>';
endwhile;

wp_reset_query();
?>

Я получил все продукты, но я хочу показать продукты с нумерацией страниц.

Примечание: все API написаны внутри папки Android.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Наконец-то я создал код и отправил дату с помощью API.

 <?php
    require_once('../wp-load.php');
    $args = array(
        'post_type'      => 'product',
        'posts_per_page' => -1
    );

$brand_product_list = new WP_Query( $args);
    $pagination_count = 1;       
    while($brand_product_list->have_posts()) : $brand_product_list->the_post(); 

        $pagination_count++;

    endwhile; wp_reset_query();
//echo'<pre>';print_r($pagination_count/12); exit;
wp_reset_query();   
?>

<?php
    $pagination = round($pagination_count/12);
    for($i=1;$i<=$pagination;$i++)
    {
        $pagination_no[] = $i;
    ?>
    <!-- <a class="product-category-view-all" href="?pagination=<?php echo $i; ?>"><?php echo $i; ?></a> -->
    <?php } ?>

<?php
    $paged = (get_query_var('paged')) ? get_query_var('paged') : $_GET['pagination'];

    $args = array(
        'post_type' => 'product',
        'paged' => $paged,
        'posts_per_page' => 12,
    );
    $wp_query = new WP_Query($args);

    while($wp_query->have_posts()) : $wp_query->the_post(); 

        $product_data = wc_get_product( $post->ID );
        if(!empty(get_the_post_thumbnail_url($product_data->get_id())))
        {
            $img = get_the_post_thumbnail_url($product_data->get_id());
        }
        else
        {
            $img = "";
        }

        $product_list[] = array(
            'product_id' => $product_data->get_id(),
            'product_name' => $product_data->get_title(),
            'product_regular_price' => $product_data->get_regular_price(),
            'product_sale_price' => $product_data->get_sale_price(),
            'product_price' => $product_data->get_price(),
            'img' => $img,
            'rating' => $product_data->get_average_rating(),
            'stock_quantity' => $product_data->get_stock_quantity(),
            'stock' => $product_data->is_in_stock(),
        );
    endwhile; wp_reset_query();
    $data[] = array(
        'pagination' => $pagination_no,
        'product_list' => $product_list
    );

    //echo json_encode($peoduct_list, $pagination)
    echo json_encode($data)
?>
0 голосов
/ 05 октября 2018

Если вы хотите создать API, тогда просто используйте Woocommerce rest API, которые встроены в функцию, представленную в WordPress. Используйте ниже URL, чтобы получить список продуктов с большим количеством опций:

{{your_url}}/wp-json/wc/v2/products

Перейдите в wp-admin и зайдите в Woocommerce -> настройки -> API

-> Включить остальные API -> Перейдите в раздел «Ключ / Приложения» и создайте ключи авторизации как секретные, так и личные (скопируйте эти ключи)

Затем дайте этот URL выше, чтобы добавить его для использования в приложении с o_auth секретного ключа и закрытого ключа.

Пожалуйста, смотрите эту ссылку для всех woocommerce API's: https://woocommerce.github.io/woocommerce-rest-api-docs/#retrieve-a-product

...