WordPress チュートリアル

WordPressの記事IDの不連続問題を完璧に解決- 個人テストに効果的

WordPress の記事 ID が連続しない問題に長い間悩まされてきました。,今回はWordPressの記事IDが不連続になってしまう原因と具体的な解決策について詳しく解説していきます。。

WordPress文章ID不连续的原因

用WordPress做网站的站长可能会发现,最大の記事 ID が記事の総数よりもはるかに大きい,たとえば、Pinzi のブログには現在 350 件の記事しかありません。,ただしIDが5000を超えた,強迫性障害には本当に耐えられない,実際、WordPress の記事 ID が不連続になる主な理由は次のとおりです。:

1、記事の自動保存、修订版本

在WordPress后台写文章的时候,システムは記事を時々自動的に保存します。,データの損失を防ぐために,一度保存して ID を生成します;
記事を修正するときは,一度変更してリビジョンを生成する,改訂された記事 ID に対応します,リビジョンが削除されても,元の占有 ID を再利用することはできません。;

2、付録、メニュー、页面占用ID

WordPress的附件、ナビゲーション メニュー項目とページは比較的特殊な投稿です。,そして、それは投稿IDを占有します。,投稿タイプのタイプは、wp_posts テーブルのデータ テーブル構造で確認できます (WordPress データベース テーブル wp_posts の詳細)。,これは変更できません。

WordPress文章ID不连续的解决办法

了解了WordPress文章id不连续的原因以后,愛着があるから当然それが分かる、ナビゲーションメニューとページ占有ID,理論的には、記事 ID を連続させる絶対的な方法はありません。,しかし、それほど大きな違いがなければまだ可能です,これは記事の自動保存と記事のリビジョンからのみ設定できます。。

1つ、禁用文章修订版

所谓的文章修订版就是你每次修改一次文章它都会自动帮你保存修改之前的文章版本专业术语叫做版本控制这样保证了在误修改的情况下可以还原之前的内容这个在维基文档的维护方面是有很大帮助的但是作为我们的小博客似乎没多大用处而且这个修订版在数据库中是占据一个ID的这也是导致文章ID不连续的问题之一要想禁用文章修订版可以在 wp-config.php文件中添加:


define('WP_POST_REVISIONS', false);

也可以在当前主题的functions.php添加以下PHP代码

// 禁用修订版本,2015年3月5日更新
add_filter( 'wp_revisions_to_keep', 'specs_wp_revisions_to_keep', 10, 2 );
function specs_wp_revisions_to_keep( $num, $post ) {
   if ( 'post_type' == $post->post_type )
      $num = 0;

   return $num;
}

二、删除文章修订版

禁用了文章修订版之后数据库中还是保存着之前已经创建的文章修订版这些其实已经没多大用处而且占着ID我们可以将它删除至于怎么删除可以在 phpmyadmin 中执行以下SQL语句(会影响置顶文章慎用!并做好备份)

DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision';

三つ、删除不必要的附件

相信很多博友在发布文章都会同时上传/插入一些附件如图像、ビデオ、音乐等这些附件可以在WordPress管理后台媒体库中看到不同媒体对应了不同的文章可是你要注意的是这些媒体也是占据着文章ID的它们与文章都保存在同一个数据库表wp_posts中如果你特别追求文章的ID一定要完美无缺地连续请不要在发布文章的时候上传/插入这些媒体并请在WordPress管理后台媒体库中删除之前上传的媒体(注意这个操作不只是删除记录而且会删除你上传的文件)需要的话请用FTP重新上传这些文件

4、禁用自动保存

自动保存的好处是你在编辑文章的时候每隔一小段时间系统会自动帮你保存编辑的文章防止网页突然关闭导致之前写的几千字哗啦一下全没了缺点是每篇都文章都会有一个自动保存的记录同样占据一个文章ID也是文章ID不连续的原因之一如果你不需要这个功能可以在当前主题的functions.php中添加以下代码


// 禁用自动保存,所以编辑长文章前请注意手动保存。 
add_action( 'admin_print_scripts', create_function( '$a', "wp_deregister_script('autosave');" ) );

五、重新排列不连续的文章ID

方法一可在当前主题的functions.php中加入以下PHP代码这样如果你只是单纯发文章不发页面不添加菜单不上传媒体的话基本上此后的文章ID是连续的而且不改变之前已经发布的文章ID不影响SEO登录后复制

について 編集部

kuajinggu の編集スタッフは WordPress の専門家チームです,ディラン率いる,WordPress で、仮想ホスト、電子商取引、SEOとマーケティングにおける10年以上の経験。クアジンググは年に作成されました 2014 年,現在、業界最大の無料 WordPress リソース Web サイト,WordPress の Wikipedia と呼ばれることが多い。