如何显示POST_PARENT中的内容

时间:2018-09-15 作者:Justin Munce

不知道我做错了什么。我是一名初学者,但我已经尝试了很多东西:

我正在尝试打印来自图像的post\\u父级的内容。这是我现在正在使用的。我可以发布标题,但不能发布内容(在打印内容方面,我只能成功地打印图像的内容(实际上是图像的“描述”,而不是我想要的)。

<?php echo wp_get_attachment_image( $post->ID, \'post-image\' ); ?>

<h4 class="attach-title"><?php the_title(); ?></h4>

<p>
    <a
        href="<?php echo get_permalink( $post->post_parent ); ?>"
        title="<?php esc_attr( printf( __( \'Return to %s\', APP_TD ), get_the_title( $post->post_parent ) ) ); ?>"
        rel="gallery">
        <?php
            printf(
                \'<span class="meta-nav">\' . __( \'&larr; Return to %s\', APP_TD ) . \'</span>\',
                get_the_title( $post->post_parent )
            );
        ?>
    </a>
</p>

<p>
    <a
        href="<?php echo get_permalink( $post->post_parent ); ?>"
        the_content="<?php esc_attr( printf( __( \'Return to %s\', APP_TD ), get_the_content( $post->post_parent ) ) ); ?>"
        rel="gallery">
        <?php
            printf(
                \'<span class="meta-nav">\' . __( \'&larr; Return to %s\', APP_TD ) . \'</span>\',
                get_the_content( $post->post_parent )
            );
        ?>
    </a>
</p>
前两段代码工作正常,但最后一段是我想提取内容的地方。但这段代码只是打印图像本身的描述,而不是post\\u父对象的内容。

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

正如另一个答案所述,您不能将ID传递给get_the_content() 作用你可以用get_post(), 但还有另一个方便的函数可以用来获取内容:

这个get_post_field( $field, $post_id, $context ) 功能是您需要的:

$content = apply_filters( \'the_content\', get_post_field( \'post_content\', $post->ID ) );
Thethe_content 过滤器还确保一些功能(如短代码或自动段落)将按预期工作。

只需更换第二个<a>...</a> 使用此选项:

<?php echo apply_filters( \'the_content\', get_post_field( \'post_content\', $post->post_parent ) ); ?>

SO网友:Hans

get_the_content() 是要在循环中使用的函数,不将post id作为参数:https://codex.wordpress.org/Function_Reference/get_the_content

你可以试试get_post() 获取父post对象,然后访问其内容。

结束

相关推荐

为什么我的帖子没有重定向到定制创建的Single-show.php文件?

我已注册自定义帖子类型名称为“show”function.php,我还创造了single-show.php当我遵循帖子的永久链接时,我希望在其中显示自定义帖子的文件,这只针对“显示”自定义帖子类型,但它不是重定向到单个显示的帖子。php。。请任何人指导我怎么做。。我正在显示single-show.php<?php if($post_type == \'Show\') { // Start the Loop.