Add ability to filter custom post type by custom fields?
我同时使用 WordPress 的"类型"和"高级自定义字段"插件。使用"类型"我创建了一个自定义帖子,当您单击"添加新"时,您通过填写我使用"高级自定义字段"创建的文本区域和下拉列表来创建一个新帖子。
目前,当我在侧边栏中单击我的帖子时,有一个过滤器可以按添加日期对我的子帖子进行排序(抱歉,缺乏正确的术语;我是 wordpress 的新手)。我还希望能够按我在下拉框中创建的一些自定义字段进行排序。
此外,还有两列标记为"标题"和"日期"。可以多加几个吗?
编写 PHP
您可以按照高级自定义字段的开发人员 (Elliot Condon) 在此博文中的概述编写一些 PHP。
从帖子中获取的以下代码将在管理屏幕中显示图像和真/假字段:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | function my_page_columns($columns) { $columns = array( 'cb' => '<input type="checkbox" />', 'thumbnail' => 'Thumbnail', 'title' => 'Title', 'featured' => 'Featured', 'author' => 'Author', 'date' => 'Date', ); return $columns; } function my_custom_columns($column) { global $post; if($column == 'thumbnail') { echo wp_get_attachment_image( get_field('page_image', $post->ID), array(200,200) ); } elseif($column == 'featured') { if(get_field('featured')) { echo 'Yes'; } else { echo 'No'; } } } add_action("manage_pages_custom_column","my_custom_columns"); add_filter("manage_edit-page_columns","my_page_columns"); |
为了能够对真/假列进行排序,您可以使用帖子中概述的以下代码:
1 2 3 4 5 6 7 | function my_column_register_sortable( $columns ) { $columns['featured'] = 'featured'; return $columns; } add_filter("manage_edit-page_sortable_columns","my_column_register_sortable" ); |
使用插件
或者,无需任何 PHP 编程,您可以使用 Codepress 插件的 Admin Columns 执行此操作。