WP有没有自动重新更新文章的插件?

论坛首页 论坛 寻求帮助 WP有没有自动重新更新文章的插件?

  • 该话题包含 9个回复,2 人参与,最后由孙锡源 更新于 2年前
正在查看 3 条回复
  • 作者
    帖子
    • #21847
      yuanmaking
      参与者
        @yuanmaking
        楼主

        根据顺序更新,我现在直接导入的文章 缩略图获取不到,需要重新编辑一下才可以获取到。

        需要找个自动根据排序更新(不打乱原本文章顺序的)

        谢谢各位大佬~

      • #21848
        孙锡源
        管理员
          @ibadboy
          坏蛋的博客
          ibadboy.net

          把以下代码放到主题的 functions.php 文件里,然后随便访问一个网页,就对所有文章触发更新操作了。更新完记得删掉这段代码。

          function update_all_posts() {
              $args = array(
                  'post_type' => 'post',
                  'numberposts' => -1
              );
              $all_posts = get_posts($args);
              foreach ($all_posts as $single_post){
                  $single_post->post_title = $single_post->post_title.'';
                  wp_update_post( $single_post );
              }
          }
          add_action( 'wp_loaded', 'update_all_posts' );

          如果你的文章数量很多的话需要改一下 PHP 的最大执行时间。

          • #21849
            yuanmaking
            参与者
              @yuanmaking
              楼主

              https://litepress.cn/wp-content/uploads/hm_bbpui/21849/nxjnhc8rj0rhh4c09tvi3y2326rgfemj.png

              提示这个,怎么处理呢?

            • #21850
              yuanmaking
              参与者
                @yuanmaking
                楼主

                我知道了,没有修改PHP memory_limit

              • #21851
                yuanmaking
                参与者
                  @yuanmaking
                  楼主

                  但是 文章的顺序变了。。这个咋整

                  • #21852
                    孙锡源
                    管理员
                      @ibadboy
                      坏蛋的博客
                      ibadboy.net

                      顺序变了?你是根据最后更新日期排序吗?改成以文章创建日期排序呗。不然你将来保存一下老文章就会打乱排序。

                      • #21853
                        yuanmaking
                        参与者
                          @yuanmaking
                          楼主

                          我需要从很久之前发布的第一个文章 陆续更新到 最新发布的文章。(这样更新下来,最新发的文章还是在最前面)

                  • #21854
                    孙锡源
                    管理员
                      @ibadboy
                      坏蛋的博客
                      ibadboy.net

                      如果需要按文章发布日期升序更新的话(也就是先更老文章),将代码改成如下即可:

                      function update_all_posts() {
                          $args = array(
                              'post_type' => 'post',
                              'numberposts' => -1,
                              'orderby' => 'post_date',
                              'order' => 'ASC',
                          );
                          $all_posts = get_posts($args);
                          foreach ($all_posts as $single_post){
                              $single_post->post_title = $single_post->post_title.'';
                              wp_update_post( $single_post );
                          }
                      }
                      add_action( 'wp_loaded', 'update_all_posts' );

                      老实说,我非常不理解你这个需求,甚至于感觉匪夷所思。我无法理解为什么文章的更新时间会影响文章的顺序,但是还是按你的需求修改了一下代码。

                      • #21898
                        yuanmaking
                        参与者
                          @yuanmaking
                          楼主

                          我填写进去  提示 遇到致命的错误

                      • #21902
                        孙锡源
                        管理员
                          @ibadboy
                          坏蛋的博客
                          ibadboy.net

                          开 Debug 模式,把报错日志贴一下,我刚测试了一下,没发现问题

                      正在查看 3 条回复
                      • 哎呀,回复话题必需登录。