朋朋博客

我要秒赞网站长博客

WordPress文章ID重新排序的实现方法

使用 WordPress建站的朋友很多都使用了文章 ID 作为固定链接形式,但由于草稿、修订版本、附件等的存在,这个ID号增长的是很快的。对于强迫症来说,文章的ID号是跳跃式的,并不连续,让人很不舒服。

《WordPress文章ID重新排序的实现方法》

1. 备份数据库

对于数据库的操作,一定要事先进行数据备份并确保备份文件可用。数据无价,谨记!

2. 禁用文章修订版本和自动保存功能

可以使用 WPJAM-Basic 插件来禁用文章修订版本和自动保存

3. 删除冗余的修订版本和自动保存

直接在数据库中操作:

清理文章历史修订版本的语句


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

修改文章时产品的一些冗沉数据


DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';
DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';

4. 进入数据库对数据表进行下优化

5. 重新排列不连续的文章ID

复制php脚本代码至 id.php,上传到你主机根目录下,访问:http://localhost/id.php ,即可达到重新排序的效果,从1开始。


 //Wordpress免插件实现代码高亮
//Prism.js开始
 function add_prism() {
        wp_register_style(
            'prismCSS',
            get_stylesheet_directory_uri() . '/prism/prism.css' //自定义路径
         );
          wp_register_script(
            'prismJS',
            get_stylesheet_directory_uri() . '/prism/prism.js' //自定义路径
         );
        wp_enqueue_style('prismCSS');
        wp_enqueue_script('prismJS');
    }
add_action('wp_enqueue_scripts', 'add_prism');
//Prism.js结束
//编辑器添加快捷键
function appthemes_add_quicktags() {
?>
<script type="text/javascript">
QTags.addButton( 'codeHighlight', '代码高亮', '\n【pre class="line-numbers"】【code class="language-markup"】\n HTML代码\n【/code】【/pre】\n' );
QTags.addButton( 'php', 'php', '\n【pre class="line-numbers"】【code class="language-php"】\n PHP代码\n【/code】【/pre】\n' );
QTags.addButton( 'python', 'Python', '\n【pre class="line-numbers"】【code class="language-python"】\n Python代码\n【/code】【/pre】\n' );//修改此段【】为<>
</script>
&lt;?php
}
add_action('admin_print_footer_scripts', 'appthemes_add_quicktags' );
//添加快捷键结束
//Pre标签内的HTML不转义
add_filter( 'the_content', 'pre_content_filter', 0 );
function pre_content_filter( $content ) {
    return preg_replace_callback( '|【pre.*】【code.*】(.*)【/code】【/pre】|isU' , 'convert_pre_entities', $content );
}//修改此段【】为 
function convert_pre_entities( $matches ) {
    return str_replace( $matches[1], htmlentities( $matches[1] ), $matches[0] );
}
点赞

Leave a Reply