Rumah  >  Artikel  >  Tutorial CMS  >  Analisis ringkas tentang cara menyelesaikan masalah ID artikel tidak berterusan dalam WordPress (kaedah yang sempurna)

Analisis ringkas tentang cara menyelesaikan masalah ID artikel tidak berterusan dalam WordPress (kaedah yang sempurna)

青灯夜游
青灯夜游ke hadapan
2023-03-15 20:34:122042semak imbas

Bagaimana untuk menyelesaikan masalah ID artikel tidak berterusan dalam WordPress? Artikel berikut akan berkongsi dengan anda bagaimana WordPress boleh menyelesaikan masalah ID artikel terputus dengan sempurna. Saya harap ia akan membantu anda!

Analisis ringkas tentang cara menyelesaikan masalah ID artikel tidak berterusan dalam WordPress (kaedah yang sempurna)

Banyak blog WordPress menggunakan ID artikel dalam pautan tetap mereka Namun, WordPress telah menyebabkan masalah ID artikel terputus disebabkan oleh pelbagai sebab. Tanya soalan untuk menyelesaikan masalah, tetapi jarang mendapat jawapan yang memuaskan daripada mereka.

Hari ini saya akan memberitahu anda cara menyelesaikan masalah ini dengan sempurna untuk mengatakan ia sempurna mungkin agak terlalu banyak Versi selepas WordPress 3.0 akan mempunyai draf automatik, dan setiap artikel yang diterbitkan akan merangkumi dua ID. Tidak. Pada masa ini tiada cara untuk melumpuhkannya. Sila teruskan membaca untuk melihat cara menyelesaikan masalah ID artikel terputus pada tahap tertentu.

Sudah tentu, jika anda tidak menggunakan ID pos dalam pautan kekal anda, maka ID siaran adalah telus kepada anda dan tidak penting. Walaupun ID siaran digunakan dalam pautan kekal, jika anda tidak begitu mengambil berat, malah ketaksinambungan itu tidak relevan, dan artikel ini tidak akan masuk akal kepada anda.

1. Lumpuhkan semakan artikel

Semakan artikel yang dipanggil bermakna setiap kali anda mengubah suai artikel, ia akan menyimpan versi artikel secara automatik sebelum pengubahsuaian untuk anda, profesional Istilah ini dipanggil kawalan versi, yang memastikan bahawa kandungan sebelumnya boleh dipulihkan sekiranya berlaku kesilapan pengubahsuaian Ini sangat membantu dalam mengekalkan dokumen Wiki, tetapi sebagai blog kecil kami, ia nampaknya tidak banyak digunakan, dan versi yang disemak ini Ia menduduki ID dalam pangkalan data, yang juga merupakan salah satu masalah yang menyebabkan ID artikel tidak berterusan. Untuk melumpuhkan semakan artikel, anda boleh menambah dalam fail wp-config.php:

define('WP_POST_REVISIONS', false);

Anda juga boleh menambah kod PHP berikut dalam functions.php tema semasa:

// 禁用修订版本,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;
}

2. Padamkan semakan artikel

Selepas melumpuhkan semakan artikel, semakan artikel yang dibuat sebelum ini masih disimpan dalam pangkalan data sebenarnya tidak banyak digunakan dan menduduki ID. Kami boleh memadamkannya. Bagi cara untuk memadam, anda boleh melaksanakan pernyataan SQL berikut dalam phpmyadmin (ia akan menjejaskan artikel yang disematkan, gunakan dengan berhati-hati! Dan buat sandaran):

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';

3. Padamkan Lampiran yang tidak diperlukan

Saya percaya ramai blogger akan memuat naik/menyisipkan beberapa lampiran pada masa yang sama apabila menerbitkan artikel, seperti imej, video, muzik dan lain-lain. Lampiran ini boleh dilihat dalam latar belakang pengurusan WordPress - Perpustakaan Media, media berbeza Sepadan dengan artikel yang berbeza. Tetapi anda harus ambil perhatian bahawa media ini juga menduduki ID artikel, dan ia disimpan dalam jadual pangkalan data yang sama wp_posts sebagai artikel. Jika anda ingin memastikan bahawa ID artikel mestilah berterusan dengan sempurna, sila jangan muat naik/sisipkan media ini semasa menerbitkan artikel, dan sila padamkan media yang dimuat naik sebelum ini dalam latar belakang pengurusan WordPress - perpustakaan media (perhatikan bahawa operasi ini bukan hanya pemadaman) rekod, dan fail yang anda muat naik akan dipadamkan), sila gunakan FTP untuk memuat naik semula fail ini jika perlu.

4 Lumpuhkan penjimatan automatik

Kelebihan penjimatan automatik ialah apabila anda mengedit artikel, sistem akan menyimpan artikel yang disunting secara automatik untuk anda setiap tempoh singkat masa. Ini menghalang halaman web daripada ditutup secara tiba-tiba, mengakibatkan beribu-ribu perkataan yang ditulis sebelum ini hilang. Kelemahannya ialah setiap artikel akan mempunyai rekod yang disimpan secara automatik, yang juga menduduki ID artikel, yang merupakan salah satu sebab mengapa ID artikel tidak berturut-turut Jika anda tidak memerlukan fungsi ini, anda boleh menambah kod berikut pada functions.php tema semasa:

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

5 Susun semula ID artikel terputus

Kaedah 1: Anda boleh menambah yang berikut pada. functions.php kod PHP tema semasa, jadi jika anda hanya menyiarkan artikel tanpa menyiarkan halaman, menambah menu, atau memuat naik media, pada asasnya ID artikel berikutnya akan berterusan, dan ID artikel yang diterbitkan sebelum ini tidak akan diubah , dan SEO tidak akan terjejas:

// WordPress 3.8测试有效
function keep_id_continuous(){
  global $wpdb;

  // 删掉自动草稿和修订版
  $wpdb->query("DELETE FROM `$wpdb->posts` WHERE `post_status` = 'auto-draft' OR `post_type` = 'revision'");

  // 自增值小于现有最大ID,MySQL会自动设置正确的自增值
  $wpdb->query("ALTER TABLE `$wpdb->posts` AUTO_INCREMENT = 1");  
}

add_filter( 'load-post-new.php', 'keep_id_continuous' );
add_filter( 'load-media-new.php', 'keep_id_continuous' );
add_filter( 'load-nav-menus.php', 'keep_id_continuous' );

Jika anda menggunakan fungsi seperti artikel yang disematkan, menu dan halaman ibu bapa-anak, kaedah berikut tidak akan berfungsi:

Kaedah 2: Lengkapkan langkah di atas untuk menjamin bahawa artikel akan diterbitkan pada masa hadapan ID akan berterusan, tetapi ID artikel yang diterbitkan sebelum ini masih dalam keadaan huru-hara Ia perlu disusun semula untuk memastikan bahawa ID adalah berterusan. Saya menulis skrip PHP Anda boleh memuat turunnya dari URL berikut, buka dengan penyunting teks mengikut arahan pada mulanya lihat OK , anda boleh pergi ke phpmyadmin untuk menyemak sama ada ID dalam jadual wp_posts adalah berturut-turut. Sekali lagi, sila sandarkan pangkalan data anda sebelum memulakan. (Jika anda menggunakan id siaran sebagai pautan tetap, ia mungkin menukar URL semua artikel, yang akan menjejaskan kemasukan enjin carian; jika anda menggunakan pemalam untuk mencipta jadual pangkalan data baharu, seperti pemalam undian, dsb. ., masalah juga akan berlaku; jika anda membuat halaman dengan hubungan ibu bapa-anak dalam blog anda, menjalankan skrip berikut akan kehilangan hubungan ini Sila gunakan dengan berhati-hati )

Analisis ringkas tentang cara menyelesaikan masalah ID artikel tidak berterusan dalam WordPress (kaedah yang sempurna)

Pembelajaran yang disyorkan: "

Tutorial WordPress"

Atas ialah kandungan terperinci Analisis ringkas tentang cara menyelesaikan masalah ID artikel tidak berterusan dalam WordPress (kaedah yang sempurna). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:ludou.org. Jika ada pelanggaran, sila hubungi admin@php.cn Padam