I want to loop through all my posts who are called 'products'. For that I use this one:
$products_IDs = new WP_Query( array(
'post_type' => 'product'
));
while ($products_IDs->have_posts() ) : $products_IDs->the_post();
$y = $y + 1;
$myfile = fopen("wp_all_import.txt", "a");
fwrite($myfile, "Counter: " . $y . "\t");
fclose($myfile);
//some code...
$sql = "INSERT INTO `wp_all_import` (pid, price, price_old, link, shop) VALUES ('$pid', '$price', '$price_old', '$link', '$shop')";
if($database->query($sql) === TRUE){
$myfile = fopen("wp_all_import.txt", "a");
fwrite($myfile, "Inserted: " . $pid . " \n");
fclose($myfile);
}
But I always get only 10 loops nevertheless I have more then 10 product pages... More over 100... But the loop always is stopping at 10... look .txt
I don't know why... But how can I fix that or how can I find out why the loop is always stopping at 10?
Greetings and Thank You!
I want to loop through all my posts who are called 'products'. For that I use this one:
$products_IDs = new WP_Query( array(
'post_type' => 'product'
));
while ($products_IDs->have_posts() ) : $products_IDs->the_post();
$y = $y + 1;
$myfile = fopen("wp_all_import.txt", "a");
fwrite($myfile, "Counter: " . $y . "\t");
fclose($myfile);
//some code...
$sql = "INSERT INTO `wp_all_import` (pid, price, price_old, link, shop) VALUES ('$pid', '$price', '$price_old', '$link', '$shop')";
if($database->query($sql) === TRUE){
$myfile = fopen("wp_all_import.txt", "a");
fwrite($myfile, "Inserted: " . $pid . " \n");
fclose($myfile);
}
But I always get only 10 loops nevertheless I have more then 10 product pages... More over 100... But the loop always is stopping at 10... look https://gamekeys-shop.de/wp-admin/wp_all_import.txt
I don't know why... But how can I fix that or how can I find out why the loop is always stopping at 10?
Greetings and Thank You!
Share Improve this question asked Mar 1, 2017 at 21:33 JanJan 3073 silver badges8 bronze badges 2 |1 Answer
Reset to default 2Take a look at WordPress codex for WP_Query
for more information.
You'll see there are different parameters for WP_Query
, you just need to add the posts_per_page
parameter with the value set to -1
to show all posts.
$products_IDs = new WP_Query( array(
'post_type' => 'product',
'posts_per_page' => -1,
));
while ($products_IDs->have_posts() ) : $products_IDs->the_post();
// Your code
endwhile;
WP_Query
parameterposts_per_page
to-1
. – Nicolai Grossherr Commented Mar 1, 2017 at 21:40