在自定义帖子类型中,是否有方法包含可用于页面的“订单”字段?
是否有任何内置逻辑可防止“订单”字段中出现重复值?
其思想是能够按照用户指定的顺序对自定义帖子类型进行排序,然后按照基于字符串的自定义字段的字母顺序进行排序。
在自定义帖子类型中,是否有方法包含可用于页面的“订单”字段?
是否有任何内置逻辑可防止“订单”字段中出现重复值?
其思想是能够按照用户指定的顺序对自定义帖子类型进行排序,然后按照基于字符串的自定义字段的字母顺序进行排序。
使用register\\u post\\u type函数声明自定义帖子类型时,必须将“页面属性”添加到支持字段,如以下示例所示:
register_post_type(\'myposttype\', array(
\'supports\' => array(\'title\', \'editor\', \'page-attributes\'),
\'hierarchical\' => false
));
您还需要将任何其他受支持的元框添加到“支持”字段,请参阅https://developer.wordpress.org/reference/functions/register_post_type/ 有关register\\u post\\u type字段的详细信息。此外,据我所知,没有任何内置方法可以阻止两个相同的顺序,这是因为您可以基于继承权创建子排序(因此一组子页面可以具有不同于另一组的排序)
除了@DaveHunt的响应之外,您还可以添加一个过滤器,例如下面的过滤器,以定义自定义顺序-在本例中,按标题的字母顺序。(代码感谢Mark Leong\'s blog post.) 删除is_admin()
如果您想在前端自定义order\\u by,请选中。
function set_custom_post_types_admin_order($wp_query) { if (is_admin()) { // Get the post type from the query $post_type = $wp_query->query[\'post_type\']; if ( $post_type == \'POST_TYPE\') { // \'orderby\' value can be any column name $wp_query->set(\'orderby\', \'title\'); // \'order\' value can be ASC or DESC $wp_query->set(\'order\', \'ASC\'); } } } add_action(\'pre_get_posts\', \'set_custom_post_types_admin_order\');
Update
有关预保存验证,请参阅以下答案:https://wordpress.stackexchange.com/a/40095/4645讨论您的选择。基本上,它可以归结为自定义jQuery,因为WordPress没有任何预保存挂钩。此外(复制我之前的评论以供将来参考),下面介绍了如何在管理中公开“菜单顺序”字段,以便用户可以编辑,就像页面一样:Adding 'menu order' column to custom post type admin screen
我的主导航菜单由页面、类别和自定义分类组成。它似乎是随机排列的。如何调整链接的顺序?(wp菜单中的拖放面板似乎没有任何效果)