php - Wordpress - 如何按表格中的列对管理区域进行排序
问题描述
我在 Wordpress 中创建了一个名为 mypost 的手动帖子类型。我为那篇文章编写了一个 php 文件,
我的数据库中有一个特殊的表用于 mypost,在那里我保存了所有 mypost 详细信息。
我有一个名为 disp_order 的专栏,我在网站上通过 disp_order 查看 mypost order。
我需要按相同的 disp_order 列对管理区域中的帖子进行排序。
有什么方法可以让管理区域获取 mypost 表的详细信息而不是 WP posts 表?
我是否必须添加元属性才能这样做?
如果我必须添加元,我需要将哪些代码添加到自定义 mypost 的 php 文件中?
是否有任何好的 url 可以解释我需要做的所有事情,以便使用 php 代码构建自定义页面,然后按该帖子表的特定列对管理区域进行排序?
谢谢。
解决方案
我的问题是我试图按 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');
用于设置它按数字排序。
推荐阅读
- typescript - 如何在 Svelte 文件中转换 Typescript 常量枚举?
- c++ - 为什么延长寿命在这里的工作方式不同?
- node.js - 使用 sequelize newCourse.setCategory 不是函数
- react-admin - 有没有办法自定义datagrid的表头?
- windows - 浏览器视口宽度是否始终取决于 Windows 10 缩放设置?
- swift - 如何在 Swift 中关闭和完成处理程序后获取数据
- javascript - Is there a way to create a JSON file using discord.js v12?
- flutter - 模拟器上的应用程序运行完美,但在真实设备上运行时,位置标记不可见,并且在运行代码时显示无法加载资产
- c# - 需要使用正则表达式用“,”而不是“\”来分割字符串
- latex - 如何减少位于其他节点之上的 2 个节点之间的空间?