在帖子中显示前端表单中的自定义值(自定义帖子类型)

时间:2019-02-16 作者:LovinQuaQua

我正在使用前端表单以自定义帖子类型创建帖子(除了自定义字段外,一切正常)。我花了几个小时试图弄明白,如何在帖子中显示表单中的自定义字段值。

这就是我在帖子中放置字段值的方式。

    add_filter(\'quform_post_process_1\', function (array $result, Quform_Form $form) {    
    $title = $form->getValue(\'quform_1_22\');    
    $content = $form->getValue(\'quform_1_23\'); 
    $add = $form->getValue(\'quform_1_24\');

    $post = array(
        \'post_title\' => $title,
        \'post_content\' => $content,
        \'post_type\' => \'events\',
        \'post_status\' => \'publish\',
        \'post_custom_field\' => $add // this is the custom field which is not working
    );

    wp_insert_post($post);

    return $result;
}, 10, 2);
当我试图显示像“post\\u custom\\u field”这样的自定义字段时,它不起作用。

此代码在存档中。php用于自定义帖子类型

        <?php while ( have_posts() ) : ?>
            <?php the_post(); ?>
            <?php
                the_content();
                echo get_post_field(\'post_custom_field\');
            ?>

1 个回复
最合适的回答,由SO网友:Milo 整理而成

提到the parameters section in the documentation for wp_insert_post.

自定义字段(元数据)必须以具有参数名称的键/值数组的形式传递\'meta_input\'.

改变

\'post_custom_field\' => $add

\'meta_input\' => array( \'post_custom_field\' => $add )
要显示值,请使用get_post_meta 作用get_post_field 仅适用于posts 表,不用于自定义元数据。

echo get_post_meta( get_the_ID(), \'post_custom_field\', true );

相关推荐

Storing user submitted forms

我想知道创建一个只有注册用户才能看到的表单的最佳方法是什么。我想在这里实现的主要想法是让用户登录并访问一个页面,其中有一个可以多次提交的申请表。每个表单将存储在数据库中并与用户关联。它还可以选择将文件附加到系统。在WP仪表板中,管理员可以浏览系统中的所有用户,并查看他们提交的所有应用程序。是否最好在仪表板中创建一个自定义选项卡并显示每个用户?表单数据是否会被分类为每个用户的元数据?我对如何开发这个有点困惑,如果有任何建议,我将不胜感激。