首页 > 解决方案 > Wordpress - 如何按表格中的列对管理区域进行排序

问题描述

我在 Wordpress 中创建了一个名为 mypost 的手动帖子类型。我为那篇文章编写了一个 php 文件,
我的数据库中有一个特殊的表用于 mypost,在那里我保存了所有 mypost 详细信息。
我有一个名为 disp_order 的专栏,我在网站上通过 disp_order 查看 mypost order。
我需要按相同的 disp_order 列对管理区域中的帖子进行排序。

有什么方法可以让管理区域获取 mypost 表的详细信息而不是 WP po​​sts 表?
我是否必须添加元属性才能这样做?
如果我必须添加元,我需要将哪些代码添加到自定义 mypost 的 php 文件中?

是否有任何好的 url 可以解释我需要做的所有事情,以便使用 php 代码构建自定义页面,然后按该帖子表的特定列对管理区域进行排序?

谢谢。

标签: phpwordpress

解决方案


我的问题是我试图按 mysql 列而不是 meta_key 排序。我添加了 meta_key,然后在url中定义

if (is_admin()) {

        // Present the posts in your meta_key field's order in admin

        if (isset($query->query_vars['post_type'])) {
            if ($query->query_vars['post_type'] == 'gs_events') {

                $query->set('meta_key', 'gs_event_date');
                $query->set('orderby', 'meta_value');
                $query->set('order', 'ASC');

     }
}

我在上面的改变,

$query->set('orderby', 'meta_value');

$query->set('orderby', 'meta_value_num');

用于设置它按数字排序。


推荐阅读