【问题标题】:Add ability to filter custom post type by custom fields?添加按自定义字段过滤自定义帖子类型的功能?
【发布时间】:2015-03-27 22:56:59
【问题描述】:

我正在使用 Wordpress 的“类型”和“高级自定义字段”插件。使用“类型”,我创建了一个自定义帖子,当您单击“添加新”时,您可以通过填写我使用“高级自定义字段”创建的文本区域和下拉列表来创建一个新帖子。

目前,当我在侧边栏中单击我的帖子时,有一个过滤器可以按添加日期对我的子帖子进行排序(抱歉,缺乏适当的术语;我是 wordpress 新手)。我还希望能够按我在下拉框中创建的一些自定义字段进行排序。

此外,还有两列标有“标题”和“日期”。可以多加几个吗?

【问题讨论】:

  • 请添加一些代码或显示有关问题的示例
  • 没有代码可显示。 Here is a screenshot of my dashboard。项目是有问题的自定义帖子类型。如您所见,已经有名为“标题”和“日期”的列。我希望能够根据我使用“高级自定义字段”创建的自定义字段添加更多列
  • 是的,您可以根据自定义字段对事物进行排序,通过进行一些自定义编码,第二,您还可以通过一些 column_filter 在列表中添加新列,查看代码以获取详细信息

标签: wordpress


【解决方案1】:

编写 PHP

您可以按照高级自定义字段 (Elliot Condon) 的开发人员在 this blog post 中的概述编写一些 PHP。

从帖子中获取的以下代码将在管理屏幕中显示imagetrue / false 字段:

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");

为了能够对真/假列进行排序,您可以使用帖子中概述的以下代码:

function my_column_register_sortable( $columns )
{
    $columns['featured'] = 'featured';
    return $columns;
}

add_filter("manage_edit-page_sortable_columns", "my_column_register_sortable" );

使用插件

或者,无需任何 PHP 编程,您可以使用 Admin Columns by Codepress 插件来完成此操作。

【讨论】:

  • 感谢您的回复!实际上我之前遇到过那个插件并最终只是使用它。
猜你喜欢
  • 2015-07-14
  • 2019-11-24
  • 1970-01-01
  • 2012-07-29
  • 1970-01-01
  • 2018-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多