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

在Wordpress中显示带有ACF(高级自定义字段)的自定义文章标题下拉菜单

公冶经纶
2023-03-14

我想在高级自定义字段的帮助下显示自定义文章标题的列表。

首先,我创建了一个自定义帖子类型。

function create_posttype() {
     register_post_type(
         'room',
         array(
             'labels' => array(
                 'name' => __('Conference rooms'),
                 'singular_name' => __('Conference room')
             ),
             'menu_icon' => 'dashicons-building',
             'menu_position' => 5,
             'public' => true,
             'has_archive' => false,
             'publicly_queryable' => false,
             'show_ui' => true,
             'show_in_menu' => true,
             'query_var' => true,
             'rewrite' => false,
             'capability_type' => 'post',
             'supports' => array('title')
         )
     );
}

然后,我在此自定义帖子类型内创建了一些“帖子”,即01房间、02房间等。接下来,我为每个房间创建了一个新的自定义字段,并使用ACF设置位置规则以指向相应的房间。

每个房间的字段包括:

>

  • 字段标签:房间名称,

    字段名称:room_name,

    字段类型:文本,

    默认值:房间01(每个房间都有不同的值,即房间02、房间03等)

    现场标签:每晚价格,

    字段名称:price_per_night,

    字段类型:数字,

    默认值:5

    字段标签:Post对象,

    字段名称:post_object,

    字段类型:Post对象,

    返回格式:Post对象

    在此之后,我返回到自定义帖子类型(房间)并编辑每个房间(房间01等),因此Post对象指向相应的页面(在本例中,一个名为Reservation的页面及其自定义模板)。

    完成后,我打开了定制模板PHP文件(Reservation正在使用该文件),并添加了从ACF文档复制的代码。

    <?php
    $featured_post = get_field('featured_post');
    if( $featured_post ): ?>
        <h3><?php echo esc_html( $featured_post->post_title ); ?></h3>
    <?php endif; ?>
    

    不知道我必须在get_field部分中调用什么,我在WP中搜索了一个房间,这让我想到了?room=room-01.查找get_field()我假设我必须指向我想要显示的字段(参数1)和字段所在的位置(参数2)。

    现在,无论我尝试什么,我都无法显示标题下拉菜单。。。

    我试过几件事:

    $featured_post = get_field('room', 'room=room-01');
    $featured_post = get_field('room_name', 'room=room-01');
    $featured_post = get_field('room_name', 'room');
    

    如果我省略If语句,我会收到以下警告/通知:

    注意:尝试获取非对象的属性post_title

    最后,我似乎无法让它工作。任何帮助,指点,建议和解释将是最受欢迎的。

    如果我能提供任何其他信息,请随时询问。

  • 共有1个答案

    濮阳旭东
    2023-03-14

    经过大量的搜索,我发现了一些相关的问题,经过一些工作,我想出了这个。。。

    这不是我想要的,但它起作用了...

    
                        <form>
                            <label for ="room">Select a room:</label>
                            <select name="room" id="room">
                        <?php
                        $args = array(
                            'post_type' => 'room',
                            'posts_per_page' => -1,
                            'orderby' => 'title',
                            'order' => 'ASC'
                        );
                        $the_query = new WP_Query($args);
                        $sobe = get_posts($args);
                        foreach ($sobe as $post){
                            setup_postdata($post);
                            $room_title = get_field('room_name');
                            
                            ?>
                            <option value=" <?php echo $room_title ?> " > <?php echo $room_title ?> </option>
                            
                            <?php
                            
                            
                        }
                        wp_reset_postdata();
                                
                        ?>
                        </select>
                        </br>
                        </br>
                        </form>
    
     类似资料:
    • 在Wordpress中,我创建了一个名为“Sports”的自定义帖子类型,其分类法为“sport_locations”。使用高级自定义字段(ACF)插件,我创建了用于显示分类术语的字段。我把一切都准备好了,但是我在输出上传的图像时遇到了问题。 在ACF中,我可以选择图像的返回值为:对象,url或ID。现在我已将其设置为对象。 下面是我到目前为止的代码。我正在single-sports.php中编写

    • 我在Wordpress中有一个名为“svg”的ACF字段菜单 为了创建我的菜单,我这样做: 我像这样显示我的菜单: 在我的Foreach中,我试图从我的菜单中调用我的ACF字段,如下所示: 但它不起作用(空)。我迷路了。如何获取我的 ACF 字段? 真是太感谢你了

    • 我在修改我安装的WordPress流行帖子插件时遇到了一些问题。 它可以选择从自定义字段获取缩略图,我已将其输入为“image_facebook”。但是缩略图没有显示。 在检查代码时,我发现imgsrc有post id而不是返回图像URL。 我已经把问题缩小到我安装的另一个插件http://wordpress.org/plugins/advanced-custom-fields/ 当它处于活动状态

    • 我正在使用ACF插件来管理一个WooCommerce网站内的各种自定义元数据。我试图设置的功能之一是向WooCommerce结帐页面添加自定义字段。我遵循WC文档页面上概述的一般概念,它允许您通过woocommerce_after_order_notes钩子将自定义表单追加到WC结帐表单。从那里,我使用acf_form()函数输入acf表单,表单设置为false,以允许它不包含acf表单元素(即a

    • 我为woocommerce产品“coffee_type”创建了自定义分类法。我为此分类法创建了一个ACF图像字段“coffee\u type\u image”。 我想在产品页面上显示带有链接的图像,而不是分类法的名称。我在这里读了大多数关于在分类法上显示acf图像的文章,但每一篇都是关于使用归档分类法页面而不是产品页面。我正在编辑single-product.php(确切地content-sing

    • 所以我在一个以FoundationPress为主题的wordpress站点上工作,最近我将ACF升级到了Pro版本,允许repeater字段。所以我试着让客户用中继器添加新的社交媒体帐户。 http://imgur.com/ft58spd http://imgur.com/mydpawl 上面您可以看到中继器是如何在后端设置的。 header.php: 没有任何东西输出到HTML中。 如果我遗漏了