>  기사  >  CMS 튜토리얼  >  WordPress에서 불연속적인 기사 ID 문제를 해결하는 방법에 대한 간략한 분석(완벽한 방법)

WordPress에서 불연속적인 기사 ID 문제를 해결하는 방법에 대한 간략한 분석(완벽한 방법)

青灯夜游
青灯夜游앞으로
2023-03-15 20:34:121987검색

WordPress에서 연속되지 않는 기사 ID 문제를 해결하는 방법은 무엇입니까? 다음 글은 WordPress가 불연속적인 글 ID 문제를 어떻게 완벽하게 해결할 수 있는지 알려드릴 것입니다. 도움이 되기를 바랍니다.

WordPress에서 불연속적인 기사 ID 문제를 해결하는 방법에 대한 간략한 분석(완벽한 방법)

고정 링크에 기사 ID를 사용하는 WordPress 블로그가 많이 있지만 WordPress에서는 여러 가지 이유로 기사 ID가 끊어지는 문제가 발생했습니다. 이 문제를 해결하기 위해 포럼에 질문을 올리는 블로거가 많지만 그렇게 할 수 있는 경우는 거의 없습니다. 그들로부터 만족스러운 답변을 얻으십시오.

오늘은 이 문제를 완벽하게 해결하는 방법을 알려드리겠습니다. 완벽하다고 말하는 것은 다소 무리일 수 있습니다. WordPress 3.0 이후 버전에는 게시된 모든 기사가 두 개의 ID 번호를 차지합니다. 비활성화할 수 있는 방법이 없습니다. 불연속적인 기사 ID 문제를 어느 정도 해결하는 방법을 보려면 계속 읽으십시오.

물론, 퍼머링크에 게시물 ID를 사용하지 않는 경우 게시물 ID는 귀하에게 투명하며 중요하지 않습니다. 퍼머링크에 포스트 아이디가 사용되더라도 특별히 신경쓰지 않는다면 불연속성도 별 의미가 없고 이 글도 별 의미가 없을 것입니다.

1. 기사 개정 비활성화

소위 기사 개정이란 기사를 수정할 때마다 수정하기 전에 자동으로 기사 버전을 저장한다는 것을 의미합니다. 전문적인 용어로 버전 관리라고 합니다. 기사가 실수로 수정되는 경우가 있습니다. 이는 위키 문서를 유지하는 데 매우 도움이 되지만, 우리의 소규모 블로그에서는 그다지 유용하지 않은 것 같습니다. 이는 또한 불연속적인 기사 ID 문제 중 하나를 발생시킵니다. 기사 개정을 비활성화하려면 wp-config.php 파일에 추가할 수 있습니다:

define('WP_POST_REVISIONS', false);

현재 테마의 function.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;
}

2. 기사 개정 삭제

기사 개정을 비활성화한 후에도 이전에 생성된 기사 개정은 여전히 ​​데이터베이스에 저장되어 있으며 실제로는 거의 사용되지 않으며 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';

3. 불필요한 첨부 파일 삭제

많은 것을 믿습니다. 블로거가 기사를 게시하고 있습니다. 이미지, 비디오, 음악 등과 같은 일부 첨부 파일이 동시에 업로드/삽입됩니다. 이러한 첨부 파일은 WordPress 관리 배경(미디어 라이브러리)에서 볼 수 있습니다. 그러나 이러한 미디어는 기사 ID도 차지하고 기사와 동일한 데이터베이스 테이블 wp_posts에 저장된다는 점에 유의해야 합니다. 기사의 ID가 완벽하게 연속되어야 한다고 특별히 추구하는 경우 기사를 게시할 때 이러한 미디어를 업로드/삽입하지 말고, WordPress 관리 배경 - 미디어 라이브러리에서 이전에 업로드한 미디어를 삭제하십시오. 삭제만 하면 됩니다. 업로드한 파일은 삭제됩니다.) 필요한 경우 FTP를 사용하여 해당 파일을 다시 업로드하세요.

4. 자동 저장 비활성화

자동 저장의 장점은 기사를 편집할 때 웹페이지가 갑자기 닫혀 수천 건의 오류가 발생하는 것을 방지하기 위해 시스템이 짧은 시간마다 편집된 기사를 자동으로 저장한다는 것입니다. 예전에 쓰던 말이 갑자기 없어졌어요. 단점은 각 기사에 기사 ID를 차지하는 자동으로 저장된 레코드가 있다는 점입니다. 이는 기사 ID가 연속적이지 않은 이유 중 하나입니다. 이 기능이 필요하지 않은 경우 다음 코드를 추가할 수 있습니다. 현재 테마의 function.php:

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

5. 불연속적인 기사 ID 재정렬

방법 1: 현재 테마의 function.php에 다음 PHP 코드를 추가하면 기사만 게시할 경우, 페이지 없음, 메뉴 없음, 미디어를 업로드하지 않으면 기본적으로 후속 기사 ID가 연속되며 이전에 게시된 기사 ID는 변경되지 않으며 SEO에 영향을 미치지 않습니다:

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

고정된 기사, 메뉴, 상위-하위 페이지 등의 기능을 사용할 경우 다음 방법은 작동하지 않습니다.

방법 2: 위 단계를 완료한 후 기본적으로 게시된 기사의 ID를 보장할 수 있습니다. 미래는 계속될 것이지만 이미 이전에 이루어진 일입니다. 게시된 기사 ID는 여전히 혼란스럽고 ID가 연속되도록 재배열해야 합니다. PHP 스크립트를 작성했습니다. 다운로드 후 텍스트 편집기로 열고, 처음의 지침에 따라 PHP 파일을 실행하세요. 확인을 참조하세요. phpmyadmin으로 이동하여 wp_posts 테이블의 ID가 연속적인지 확인할 수 있습니다. 다시 한 번 시작하기 전에 데이터베이스를 백업하십시오. (게시물 ID를 고정 링크로 사용하는 경우 모든 기사의 URL이 변경될 수 있으며 이는 검색 엔진 포함에 영향을 미칩니다. 플러그인을 사용하여 투표 플러그인 등과 같은 새 데이터베이스 테이블을 생성하는 경우 ., 블로그에 부모-자식 관계가 있는 페이지가 생성되면 문제가 발생합니다. 다음 스크립트를 실행하면 이 관계가 손실됩니다. 주의해서 사용하세요!

위 내용은 WordPress에서 불연속적인 기사 ID 문제를 해결하는 방법에 대한 간략한 분석(완벽한 방법)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 ludou.org에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제