添加WordPress文章的排序选项

quality,Q 70

默认WordPress仅页面有排序选项面板,可以通过下面的代码让文章也有排序选项面板功能。

1638546569 20211203154929 61aa3c89060f4

为WordPress文章添加排序选项

将代码添加到当前主题函数模板functions.php中即可。

add_action( 'admin_init', 'posts_order' );
function posts_order() {
    add_post_type_support( 'post', 'page-attributes' );
}

前端想实现文章排序功能,需要在主循环中添加参数:

$order_posts = new WP_Query(array(
    'post_type' => 'post', 
    'post_status' => 'publish', 
    'orderby' => 'menu_order', 
    'order' => 'ASC', 
) );

后台文章列表显示排序编号:

add_action('manage_posts_custom_column',  'zm_posts_order_show_columns');
function zm_posts_order_show_columns($name) {
	global $post;
	switch ($name) {
		case 'order':
			$views = $post->menu_order;
			echo $views;
		break;
	}
}

add_filter('manage_posts_columns', 'zm_posts_order_columns');
function zm_posts_order_columns($defaults) {
	$defaults['order'] = '排序';
	return $defaults;
}

批量清零排序编号:

global $wpdb;
$wpdb->query("UPDATE wp_posts SET menu_order = 0 WHERE post_type = 'post'");

想实现文章自定义排序还可以使用:

Plugins

WordPress 文章自定义排序插件:Simple Custom Post Order有时会需要给文章和分类进行重新排序,之前的WordPress分类排序插件:WP Term Order, [quote ids…9143

类似文章