Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php wordpress循环最多可以处理多少个帖子?_Php_Wordpress - Fatal编程技术网

Php wordpress循环最多可以处理多少个帖子?

Php wordpress循环最多可以处理多少个帖子?,php,wordpress,Php,Wordpress,wordpress循环最多可以处理多少个帖子 “每页帖子数”=>-1时,我可以显示多少篇帖子 我收到了1317多篇文章,我想对它们进行排序,但每当我尝试对超过10000页的内容进行任何操作时,我只会得到一个空白页(“每页的文章数”=>10000) 提前谢谢你看来你的php内存已经用完了 我可以想出两个选择: 尝试在php.ini中添加一些内存。这实际上并不能解决你的问题,因为你的帖子数量会不断增加,你会再次遇到同样的问题。 但与此同时,它可以给您一些时间来研究真正的解决方案:) 真正的解决方案是

wordpress循环最多可以处理多少个帖子

“每页帖子数”=>-1时,我可以显示多少篇帖子

我收到了1317多篇文章,我想对它们进行排序,但每当我尝试对超过10000页的内容进行任何操作时,我只会得到一个空白页(“每页的文章数”=>10000)


提前谢谢你

看来你的php内存已经用完了

我可以想出两个选择:

  • 尝试在php.ini中添加一些内存。这实际上并不能解决你的问题,因为你的帖子数量会不断增加,你会再次遇到同样的问题。 但与此同时,它可以给您一些时间来研究真正的解决方案:)

  • 真正的解决方案是,您可以使用WPDB对象直接处理WP数据库。 通过这种方式,您可以限制从DB获得的POST数量,因此不需要一次将所有对象存储在内存中

  • 在那个示例中,我显示了包含大量帖子的类别。我在DB上迭代,每次迭代得到100个帖子(使用LIMIT),直到我得到所有帖子:

        $sql = "
                SELECT * 
                FROM $wpdb->posts
                LEFT JOIN $wpdb->term_relationships ON($wpdb->posts.ID = $wpdb->term_relationships.object_id)
                LEFT JOIN $wpdb->term_taxonomy ON($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
                LEFT JOIN $wpdb->terms ON($wpdb->term_taxonomy.term_id = $wpdb->terms.term_id)
                WHERE post_status = 'publish'
                AND $wpdb->terms.name = '".$cat_name."'
                AND $wpdb->term_taxonomy.taxonomy = 'category'
                AND post_type = 'post' 
                AND post_title not regexp '".$excluded_posts."'
                ORDER BY post_date DESC LIMIT 100 OFFSET $offset
                ";
    
            $posts_in_category = $wpdb->get_results($sql, OBJECT);
            ?>
    
        <!-- Some HTML here -->
        <?php while ($posts_in_category): ?>
                <?php if ($posts_in_category): ?>
                    <?php global $post; ?>
                    <?php foreach ($posts_in_category as $post): ?>
                        <?php setup_postdata($post); ?>
                        <!-- Here you can pot your post template -->
                    <?php endforeach; ?>
                <?php else: ?>
                    <p><?php _e('No posts matched your criteria.', 'wp-print'); ?></p>
            <?php endif; ?>
    
    <?php $offset += 100; 
        $sql = "
            SELECT * 
            FROM $wpdb->posts
            LEFT JOIN $wpdb->term_relationships ON($wpdb->posts.ID = $wpdb->term_relationships.object_id)
            LEFT JOIN $wpdb->term_taxonomy ON($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
            LEFT JOIN $wpdb->terms ON($wpdb->term_taxonomy.term_id = $wpdb->terms.term_id)
            WHERE post_status = 'publish'
            AND $wpdb->terms.name = '".$cat_name."'
            AND $wpdb->term_taxonomy.taxonomy = 'category'
            AND post_type = 'post' 
            AND post_title not regexp '".$excluded_posts."'
            ORDER BY post_date DESC LIMIT 100 OFFSET $offset
            ";
    
        $posts_in_category = $wpdb->get_results($sql, OBJECT);
    ?>
    <?php endwhile;?>
    
    $sql=”
    选择*
    从$wpdb->posts
    在($wpdb->posts.ID=$wpdb->term\u relationships.object\u ID)上左键连接$wpdb->term\u relationships
    在($wpdb->term\U关系上左键连接$wpdb->term\U分类法。term\U分类法\U id=$wpdb->term\U分类法。term\U分类法\U id)
    左连接$wpdb->terms ON($wpdb->term\u taxonomy.term\u id=$wpdb->terms.term\u id)
    其中post_状态=‘发布’
    和$wpdb->terms.name='“$cat_name.”
    和$wpdb->term_taxonomy.taxonomy='category'
    和post_type='post'
    并发布“标题不是regexp”。$excluded\u posts.”
    按邮政日期描述的订单限额100抵销$OFFSET
    ";
    $posts_in_category=$wpdb->get_results($sql,OBJECT);
    ?>
    


    取决于许多因素,包括您的机器和php.ini文件中的值