ACF:查询与作者的关系字段

时间:2015-05-11 作者:Liu Kang

我有一个关于当地食物和饮料类型的网站。在网站上,企业可以创建用户,并通过关系字段添加他们提供的食品和饮料。

关系字段\'resturant\' 显示在/wp-admin/profile.php 对于已登录的用户。

食品和饮料页面:

website.com/food/
website.com/food/cherry-pie/
website.com/food/pancakes/
website.com/food/cookies/
website.com/drinks/
website.com/drinks/lemonade/
website.com/drinks/soda/
website.com/drinks/water/
三个注册用户:

website.com/author/resturant-cuppa-joes/
website.com/author/resturant-mclovin/
website.com/author/resturant-hotcup/
例如,用户餐厅Cuppa Joe’s和餐厅MClovin将樱桃派作为他们提供的一餐之一。用户Resturant Hotcup没有。当有人访问该页面时website.com/food/cherry-pie/ 我希望餐厅Cuppa Joe’s和餐厅MClovin成为那里的特色,而不是餐厅Hotcup。

在第页中。php我有以下代码:

<?php while ( have_posts() ) : the_post(); ?>

            <h2>Resturants</h2>
            <?php 

            $resturants = get_users(array( // Changed from get_posts
                \'meta_query\' => array(
                    array(
                        \'key\' => \'resturant\', // name of custom field
                        \'value\' => \'"\' . get_the_ID() . \'"\',
                        \'compare\' => \'LIKE\'
                    )
                )
            ));

            ?>
            <?php if( $resturants ): ?>
                <ul>
                <?php foreach( $resturants as $resturant ): ?>
                    <li>
                        <a href="<?php echo get_permalink( $resturant->ID ); ?>"><?php echo get_the_title( $resturant->ID ); ?></a>
                    </li>
                <?php endforeach; ?>
                </ul>
            <?php endif; ?>
<?php endwhile; ?>
在使用样本advancedcustomfields.com, 已更改get_postsget_users.

似乎有些事情是对的-I get a list with two links, 但链接指向起始页。

我做错了什么?

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

用户没有永久链接或标题。它们有作者链接和显示名称。更改了代码:

            <?php while ( have_posts() ) : the_post(); ?>

                        <h2>Resturants</h2>
                        <?php 

                        $resturants = get_users(array( // Changed from get_posts
                            \'fields\' => \'all_with_meta\', // All with meta to get also display_name
                            \'meta_query\' => array(
                                array(
                                    \'key\' => \'resturant\', // name of custom field
                                    \'value\' => \'"\' . get_the_ID() . \'"\',
                                    \'compare\' => \'LIKE\'
                                )
                            )
                        ));

                        ?>
                        <?php if( $resturants ): ?>
                            <ul>
                            <?php foreach( $resturants as $resturant ): ?>
                                <li>
                                    <a href="<?php echo get_author_posts_url( $resturant->ID ); ?>"><?php echo $resturant->display_name; ?></a>
                                </li>
                            <?php endforeach; ?>
                            </ul>
                        <?php endif; ?>
            <?php endwhile; ?>

结束

相关推荐

ACF:查询与作者的关系字段 - 小码农CODE - 行之有效找到问题解决它

ACF:查询与作者的关系字段

时间:2015-05-11 作者:Liu Kang

我有一个关于当地食物和饮料类型的网站。在网站上,企业可以创建用户,并通过关系字段添加他们提供的食品和饮料。

关系字段\'resturant\' 显示在/wp-admin/profile.php 对于已登录的用户。

食品和饮料页面:

website.com/food/
website.com/food/cherry-pie/
website.com/food/pancakes/
website.com/food/cookies/
website.com/drinks/
website.com/drinks/lemonade/
website.com/drinks/soda/
website.com/drinks/water/
三个注册用户:

website.com/author/resturant-cuppa-joes/
website.com/author/resturant-mclovin/
website.com/author/resturant-hotcup/
例如,用户餐厅Cuppa Joe’s和餐厅MClovin将樱桃派作为他们提供的一餐之一。用户Resturant Hotcup没有。当有人访问该页面时website.com/food/cherry-pie/ 我希望餐厅Cuppa Joe’s和餐厅MClovin成为那里的特色,而不是餐厅Hotcup。

在第页中。php我有以下代码:

<?php while ( have_posts() ) : the_post(); ?>

            <h2>Resturants</h2>
            <?php 

            $resturants = get_users(array( // Changed from get_posts
                \'meta_query\' => array(
                    array(
                        \'key\' => \'resturant\', // name of custom field
                        \'value\' => \'"\' . get_the_ID() . \'"\',
                        \'compare\' => \'LIKE\'
                    )
                )
            ));

            ?>
            <?php if( $resturants ): ?>
                <ul>
                <?php foreach( $resturants as $resturant ): ?>
                    <li>
                        <a href="<?php echo get_permalink( $resturant->ID ); ?>"><?php echo get_the_title( $resturant->ID ); ?></a>
                    </li>
                <?php endforeach; ?>
                </ul>
            <?php endif; ?>
<?php endwhile; ?>
在使用样本advancedcustomfields.com, 已更改get_postsget_users.

似乎有些事情是对的-I get a list with two links, 但链接指向起始页。

我做错了什么?

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

用户没有永久链接或标题。它们有作者链接和显示名称。更改了代码:

            <?php while ( have_posts() ) : the_post(); ?>

                        <h2>Resturants</h2>
                        <?php 

                        $resturants = get_users(array( // Changed from get_posts
                            \'fields\' => \'all_with_meta\', // All with meta to get also display_name
                            \'meta_query\' => array(
                                array(
                                    \'key\' => \'resturant\', // name of custom field
                                    \'value\' => \'"\' . get_the_ID() . \'"\',
                                    \'compare\' => \'LIKE\'
                                )
                            )
                        ));

                        ?>
                        <?php if( $resturants ): ?>
                            <ul>
                            <?php foreach( $resturants as $resturant ): ?>
                                <li>
                                    <a href="<?php echo get_author_posts_url( $resturant->ID ); ?>"><?php echo $resturant->display_name; ?></a>
                                </li>
                            <?php endforeach; ?>
                            </ul>
                        <?php endif; ?>
            <?php endwhile; ?>

相关推荐