求助,接上一个emlogPro最新版本如何解决分类ID删除以后不连续的问题啊
大叫花子资源网 • 2024-03-30 10:50 • 419 次点击 • ❓问题求助
感谢 @那多记忆 大佬的热心回答
接上一个问题,emlogPro最新版本如何解决分类ID删除以后不连续的问题啊
上次大佬给的插件只能解决文章的ID不连续问题,分类删除以后那个ID不连续无法解决
评论:
Sge1S2hl 用户2024-04-12 16:59
<?php
/*
Plugin Name: Emlog ID Optimizer
Plugin URI: https://github.com/emlog/emlog
Description: 优化 Emlog 文章和分类 ID,使其连续。
Version: 1.0
Author: Your Name
Author URI: https://yourwebsite.com
*/
function emlog_id_optimizer_menu() {
add_menu_page('Emlog ID Optimizer', 'ID 优化', 'administrator', 'emlog_id_optimizer', 'emlog_id_optimizer_page');
}
add_action('admin_menu', 'emlog_id_optimizer_menu');
function emlog_id_optimizer_page() {
if (isset($_POST['optimize_posts'])) {
optimize_posts();
}
if (isset($_POST['optimize_terms'])) {
optimize_terms();
}
echo '<div class="wrap">';
echo '<h2>Emlog ID Optimizer</h2>';
echo '<form method="post" action="">';
echo<input type="submit" name="optimize_posts" value="优化文章 ID" class="button-primary" />';
echo<input type="submit" name="optimize_terms" value="优化分类 ID" class="button-primary" />';
echo '</form>';
echo '</div>';
}
function optimize_posts() {
global $wpdb;
$posts = $wpdb->get_results("SELECT ID FROM {$wpdb->posts} WHERE post_type = 'post' AND post_status = 'publish' ORDER BY ID ASC");
$new_id = 1;
foreach ($posts as $post) {
$wpdb->update($wpdb->posts, array('ID' => $new_id), array('ID' => $post->ID));
$new_id++;
}
echo '<div class="updated"><p>文章 ID 优化完成!</p></div>';
}
function optimize_terms() {
global $wpdb;
$terms = $wpdb->get_results("SELECT term_id FROM {$wpdb->terms} ORDER BY term_id ASC");
$new_id = 1;
foreach ($terms as $term) {
$wpdb->update($wpdb->terms, array('term_id' => $new_id), array('term_id' => $term->term_id));
$new_id++;
}
echo '<div class="updated"><p>分类 ID 优化完成!</p></div>';
}
/*
Plugin Name: Emlog ID Optimizer
Plugin URI: https://github.com/emlog/emlog
Description: 优化 Emlog 文章和分类 ID,使其连续。
Version: 1.0
Author: Your Name
Author URI: https://yourwebsite.com
*/
function emlog_id_optimizer_menu() {
add_menu_page('Emlog ID Optimizer', 'ID 优化', 'administrator', 'emlog_id_optimizer', 'emlog_id_optimizer_page');
}
add_action('admin_menu', 'emlog_id_optimizer_menu');
function emlog_id_optimizer_page() {
if (isset($_POST['optimize_posts'])) {
optimize_posts();
}
if (isset($_POST['optimize_terms'])) {
optimize_terms();
}
echo '<div class="wrap">';
echo '<h2>Emlog ID Optimizer</h2>';
echo '<form method="post" action="">';
echo<input type="submit" name="optimize_posts" value="优化文章 ID" class="button-primary" />';
echo<input type="submit" name="optimize_terms" value="优化分类 ID" class="button-primary" />';
echo '</form>';
echo '</div>';
}
function optimize_posts() {
global $wpdb;
$posts = $wpdb->get_results("SELECT ID FROM {$wpdb->posts} WHERE post_type = 'post' AND post_status = 'publish' ORDER BY ID ASC");
$new_id = 1;
foreach ($posts as $post) {
$wpdb->update($wpdb->posts, array('ID' => $new_id), array('ID' => $post->ID));
$new_id++;
}
echo '<div class="updated"><p>文章 ID 优化完成!</p></div>';
}
function optimize_terms() {
global $wpdb;
$terms = $wpdb->get_results("SELECT term_id FROM {$wpdb->terms} ORDER BY term_id ASC");
$new_id = 1;
foreach ($terms as $term) {
$wpdb->update($wpdb->terms, array('term_id' => $new_id), array('term_id' => $term->term_id));
$new_id++;
}
echo '<div class="updated"><p>分类 ID 优化完成!</p></div>';
}