【问题标题】:Advanced custom fields - relationships logic reversed高级自定义字段 - 关系逻辑反转
【发布时间】:2013-09-10 12:23:01
【问题描述】:

在我们的网站上,我们目前创建了“工作”帖子,然后将其与作者和流派帖子类型相关联。

总体目标是: 当我们查看作者或流派帖子时,我们希望列出与该作者/流派相关联/相关的所有工作帖子。

我们正在使用下面的代码,这似乎让我们走了一半......

    <?php $args = array(
        'numberposts'     => -1,
        'post_type'       => 'post',
        'meta_query' => array(
                array(
                        'key' => 'related_posts',
                        'value' => $post->id
                )
        )
    );
    $posts_array = get_posts( $args );
    var_dump($posts_array);
    if( $posts_array ) {
        echo '<ul>';
        foreach( $posts_array as $related ) {
            echo '<li>';
            echo '<a href="' . $related->guid . '">' . $related->post_title . '</a>';
            echo '</li>';
        }
        echo '</ul>';
    }
    ?>

但是数组中的“值”字段不起作用。从技术上讲,它应该传递当前帖子(作者或流派)的 id 并选择相关内容。当我们从数组中删除它时,它确实会带来所有帖子,无论它们是否相关。

总之,我们认为“价值”问题可能是解决问题的关键,因为这应该是过滤帖子的内容。

提前致谢

【问题讨论】:

    标签: wordpress relationships advanced-custom-fields


    【解决方案1】:

    你试过$post-&gt;ID吗? (大写不是小写)

    【讨论】:

    • 我要做的是通过在&lt;li&gt; 标签之间添加the_field( 'related_posts' ); 来进一步调查。当你这样做时会发生什么?
    • 所有帖子都会出现同样的问题。
    • 我的意思是,the_field( 'related_posts' ) 输出什么?您可以通过像这样输出它来检查它是否为空白:echo "The related post is:" . get_field( 'related_posts' );。换句话说,您确定您设置了自定义字段“related_posts”的帖子实际上是在吐出预期值吗?另一种检查方法是在仪表板的Edit Post 屏幕中,打开显示自定义字段的切换开关(在右上角有一个名为“屏幕选项”的下拉菜单)。这将向您显示与此帖子相关联的自定义字段。
    • 没有返回任何内容。如果我们删除名为 'meta_query' 的数组中的 'value' 参数,则返回所有帖子,无论它们是否相关。这似乎是问题,但我们无法纠正它。理想情况下,我们希望传递当前帖子的 id 并仅返回相关帖子。我们看到的例子使用了我们的方法,但我们的方法不起作用。
    • 在仪表板中怎么样,那里有设置任何值吗?
    猜你喜欢
    • 2016-06-08
    • 2013-12-25
    • 1970-01-01
    • 2017-12-16
    • 2014-02-23
    • 2018-05-19
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多