当前位置: 首页 > 知识库问答 >
问题:

将ACF Post对象字段添加到Wordpress管理列

姚烨
2023-03-14

我有一个用于书籍的自定义帖子类型,它有两个ACF字段,book\u titlebook\u author。我对书中的段落有一个单独的自定义post类型,它将一本书作为ACF post对象拉入到段落中两个字段中,并使用相同的字段名自定义post类型。

我希望能够显示book_titlebook_author字段作为段落自定义文章类型列表中的列。我目前能够拉入书名,但那只是因为我抓取的是文章的标题,而不是文章中实际的book_title字段。有没有办法从这样的post对象中抓取字段并将其设置为列?

这是我目前的代码从我的段落自定义文章类型文件:

function add_acf_columns($columns)
{
    return array_merge($columns, array(
        'book_title' => __('Book Title') ,
        'book_author' => __('Book Author')
    ));
}
add_filter('manage_passages_posts_columns', 'add_acf_columns');


function passages_custom_column($column, $post_id)
{
    switch ($column)
    {
        case 'book_title':
            echo get_the_title(get_field('book_title', $post_id));
        break;
        case 'book_author':
            echo get_post_meta($post_id, 'book_author', true);
        break;
    }
}
add_action('manage_passages_posts_custom_column', 'passages_custom_column', 10, 2);

共有2个答案

史弘博
2023-03-14

我通过修改Xhynk的答案来解决这个问题。

在Passages postbook字段中获取Book post对象的ID后,可以使用ACF的get_field()从Book post本身获取title作者值,然后传递这些值进入柱子。

// add columns to passages list
add_filter('manage_passages_posts_columns', 'add_acf_columns');
function add_acf_columns($columns)
{
    return array_merge($columns, array(
        'book_title' => __('Book Title') ,
        'book_author' => __('Book Author')
    ));
}

// add title and author to passages list columns
add_action('manage_passages_posts_custom_column', 'passages_custom_column', 10, 2);
function passages_custom_column($column, $post_id) {
    switch( $column ){
        case 'book_title':
            $book_object = get_field( 'book', $post_id );
            $book_title = get_field('title', $book_object->ID);
            echo ($book_title) ? $book_title : '';
            break;
        case 'book_author':
            $book_object = get_field( 'book', $post_id );
            $book_author = get_field('author', $book_object->ID);
            echo ($book_author) ? $book_author : '';
            break;
    }
}
郭远
2023-03-14

我对你的实际设置有点困惑,但总体思路应该适用于这里。使用ACF“关系型”时

只需执行以下操作:

$object = get_field( 'name_of_field', $post_id );

将让您访问任何您想要从该帖子/自定义帖子类型的数据:

$title = $object->post_title;
$author_id = $object->post_author;

所以,就像我提到的,我对你的实际字段名称和实际对象的存储位置有点困惑,但是我认为同一个文章对象存储在book_titlebook_author字段中?无论哪种方式,您只需要获取带有get_fieldWP_Post对象,然后您就可以访问与之相关的所有内容。然后您可以输出标题,并使用类似于get_the_author_meta()的东西来获取作者的显示/名/姓等。

add_action('manage_passages_posts_custom_column', 'passages_custom_column', 10, 2);
function passages_custom_column($column, $post_id) {
    switch( $column ){
        case 'book_title':
            $book_object = get_field( 'book_title', $post_id );
            echo ($book_object) ? $book_object->post_title : '';
            break;
        case 'book_author':
            $book_object = get_field( 'book_author', $post_id );
            if( $book_object ){
                echo get_the_author_meta( 'display_name', $book_object->post_author );
            }
            break;
    }
}
 类似资料:
  • 问题内容: 我在使用Scala将字段添加到Play Framework中的Json对象时遇到问题: 我有一个包含数据的案例类。例如: 并且我能够使用Json Writes创建一个Json对象: 并且Json看起来像: 假设我想向Json对象添加一个附加的’c’字段。结果: 如何在不创建新案例类或使用Json.obj自己创建Json对象的情况下做到这一点?我正在寻找类似的东西: 任何帮助表示赞赏!

  • 我创建了一个名为“cislo_ponuky”的acf字段。它是数字的。 我现在需要的是将其显示为一个名为Nehnutelnosti的自定义post类型中的admin列,其中包含一段“nehnutelinosti”。 函数custom_mycpt_column( $column,$post_id ) { switch ( $column ) { }} 不幸的是,这段代码对我不起作用。

  • 本文向大家介绍silverstripe 将字段添加到DataObject,包括了silverstripe 将字段添加到DataObject的使用技巧和注意事项,需要的朋友参考一下 示例 您可以使用该DataExtension机制将额外的数据库字段添加到现有的DataObject中: 并应用扩展名: 这将HairColour作为字段添加到Member对象。

  • 问题内容: 所以我在Python3.5上使用psycopg2将一些数据插入到postgresql数据库中。我想做的是有两列是字符串,最后一列只是一个dict对象。我不需要搜索字典,只需能够将其从数据库中拉出并使用它即可。 因此例如: 这有可能吗,如果可以的话,我将如何去做呢? 问题答案: 如果您的PostgreSQL版本足够新(9.4+)并且psycopg版本> = 2.5.4,则所有键都是字符串

  • 一、功能说明 对黄页分类进行扩展,使之具有自定义模型一般的灵活性 注:本功能默认并不存在,需先安装黄页模块 二、子功能导航 1.添加字段 2.使用字段 三、功能详解 1.添加字段 附加字段的添加和基本模型的自定义字段一致 2.使用字段 导航栏 选择模块 -> 菜单栏 选择 企业黄页下面的 分类管理 -> 子导航 添加产品分类 点击后在弹出的新窗口中选择附属字段管理显示如下图 勾选上您添加的附加字段

  • 我为媒体添加了一个自定义分类法,它在媒体管理部分显示为一个文本字段。我想这是典型的复选框格式,因为它存在于自定义帖子类型管理页面。有没有一种方法可以在函数中覆盖此选项,使此自定义分类显示在复选框中,以便用户可以轻松选择属于特定分类条目的图像? 下面是我用来将分类法引入媒体库的代码: 我找到了这篇文章,但从未使用过过滤器,如何让它为我工作有点困惑: https://wordpress.stackex

  • 我向每个Wordpress菜单项添加了类,但它们没有出现在代码中。 我的菜单: 我的职能。php包括 所以我有 但是没有我在Wordpress管理菜单中添加的任何类。为什么呢?

  • 问题内容: 我的表格中有3个字段。我有一个提交按钮和一个“添加其他字段”按钮。我知道我可以使用表单类中的方法添加字段。 我是Python和Django的新手,并且陷入了一个初学者的问题;我的问题是: 当我单击“添加其他字段”按钮时,添加其他字段的过程是什么? 是否需要再次呈现表单? 我如何以及何时打电话,甚至必须打电话? 如何将参数传递给? 问题答案: 你的表单必须基于从POST传递给它的一些变量