Fuzqing

Typecho 批量更改文章分类状态插件 PostsCategoryChange
Typecho后台没有批量更改文章分类的功能,让我一顿困扰,Google,百度了一番没有找到相关插件,或者比较便捷...
扫描右侧二维码阅读全文
21
2018/06

Typecho 批量更改文章分类状态插件 PostsCategoryChange

Typecho后台没有批量更改文章分类的功能,让我一顿困扰,Google,百度了一番没有找到相关插件,或者比较便捷的解决办法,于是就自己动手写了一个。

Typecho 批量更改文章分类状态插件 PostsCategoryChange

插件简介

批量更新文章分类、状态(显示|隐藏)

注意(灰常重要)

  • 在批量更新文章分类的时候,请先确认被操作的文章是否都只能有一个分类。
  • 如果有个别文章存在多个分类的请手工修改分类,不要使用本插件。

安装方法

  • releases中下载最新版本插件;
  • 将下载的压缩包进行解压,文件夹重命名为PostsCategoryChange,上传至Typecho插件目录中;
  • 后台激活插件。

使用方法

  • 到文章管理界面选择你要修改分类的文章 -> 选中项 -> 移动 -> 选择一个分类。

changeCategory.gif

  • 到文章管理界面选择你要修改分类的文章 -> 选中项 -> 显示|隐藏

changeStaus.gif

更新日志

2018.6.22


Github地址:https://github.com/fuzqing/PostsCategoryChange

Last modification:June 22nd, 2018 at 06:42 pm
If you think my article is useful to you, please feel free to appreciate

25 comments

  1. qxbug

    原来的文章没有分类的话 移动分类就失败了 有没有解决方案 从其他程序转过来一批文章 结果没有分类 请教博主有解决方案么

    1. Fuzqing
      @qxbug

      如果都没有图片依赖的话,直接操作数据库,设置成为默认分类再用插件去操作

      1. qxbug
        @Fuzqing

        数据库里文章分类的字段在哪个表里啊 对比了有分类的文章和没有分类的文章 没看出区别来

        1. Fuzqing
          @qxbug

          typecho_contents,内容表,这张表中并没有直接存放文章的分类字段。
          typecho_metas,存放标签和分类。
          typecho_relationships,这张表中只有两个字段cidmid,存放着“文章”与“分类”和“标签”的关系依赖。
          可以按照以下步骤来操作:

          先在后台新建一个分类,然后到typecho_metas这张表中查看一下该分类的mid
          typecho_contents表中查一下所有文章的cid
          typecho_relationships关系表中批量插入这些cid和对应的mid
          使用插件,你懂的୧(๑•̀⌄•́๑)૭
          1. qxbug
            @Fuzqing

            发现所有的文章cid都是2个 对应着2个不同的mid

          2. qxbug
            @Fuzqing

            我的分类里count是有数据的,点进去是空的,因为我的数据是从其他平台导入过来的,那时候分类已经有了,但是分类的缩略名没有,于是我就建立了缩略名,结果发现点分类进去文章是空的,但是分类的count是有数字的,是不是还有其他补救方案不用去更改分类,几千篇文章呢 :(

            1. Fuzqing
              @qxbug

              看不懂

  2. BENPIG

    插件管理处,点击启用后,提示:Server Error

    1. fuzqing
      @BENPIG

      你的版本typecho版本、PHP版本发一下

      1. BENPIG
        @fuzqing

        Typecho 版本 1.2 (18.1.29),PHP版本5.5

        1. fuzqing
          @BENPIG

          不科学啊,你从哪里下载的

          1. BENPIG
            @fuzqing

            官网下载的开发版:http://typecho.org/build.tar.gz

            1. fuzqing
              @BENPIG

              额,我说的是插件

              1. BENPIG
  3. 36778038

    这个插件在文章第二页和筛选页就无法使用

    1. fuzqing
      @36778038

      试了一下是可以的。

  4. 林浩楠

    这个插件太牛逼了,正是我想要的功能

  5. xzy

    大佬,如果我想要在文章管理选中项那里添加批量设置文章隐藏或者公开,改起来容易吗

    1. fuzqing
      @xzy

      插件已更新,支持批量设置文章隐藏显示状态。

    2. fuzqing
      @xzy

      隐藏或者公开的批量修改比较简单,只需要修改一下contents表中的status字段的值
      公开->隐藏:"publish"改为"hidden"
      反之亦然

  6. Ryan
    1. fuzqing
      @Ryan

      如果要做到不用修改文件而又性能高,可以把文章管理页面再复制一份,
      在后台管理增加一个按钮,和寒泥的友情链接一样,做成独立的管理页面,一开始的想法是这样子的,
      但后来觉得不划算,就选择了在“admin/manage-posts.php”文件修改一下,成本也不算高

    2. fuzqing
      @Ryan

      其实昨天下午逛论坛就看到了,
      “ Typecho_Plugin::factory('admin/footer.php')->end = array( __CLASS__, 'render');”,
      是后台通用(全局)的插件点,你修改成这个确实是能用,
      但有没有想过,这个修改分类插件需要的只是文章管理页面运行使用,而不是全局都启用,
      性能方面就不说了,可以去后台别的页面打开一下控制台看看什么样子的。。。

      1. Ryan
        @fuzqing

        判断了只有manage-posts才输出,多一个判断语句的事,对于后台访的访问量来说无压力啊

        1. fuzqing
          @Ryan

          (๑•̀ㅁ•́ฅ)
          嗯,你的方法可行,多谢指点,稍后更新一下,
          只不过有些服务器$_SERVER['PHP_SELF']为空字符串,
          我改成了$_SERVER['REQUEST_URI'],

Leave a Comment