访问自定义侧边栏中的 the_post() 内容

Access the_post() contents in a custom sidebar

我在 single-legislacion.php 页面中有此代码:

<?php if ( have_posts() ) : ?>
    <?php while ( have_posts() ) : the_post(); ?>
        <h4><?php the_title(); ?></h4>
    <?php endwhile; ?>
<?php endif; ?>
<?php
$args = array(
    'order'       => 'ASC',
    'post_type'   => 'attachment',
    'post_parent' => $thePostID,
    'post_status' => 'inherit',
    'numberposts' => 1
);

$attachments = get_posts( $args );
if ( $attachments ) :
    foreach ( $attachments as $attachment ) : ?>
        <div class="BaseIco">
            <a class="IcoDescargas" href="<?php echo wp_get_attachment_url( $attachment->ID, true ); ?>">
                <img src="<?php echo get_template_directory_uri(); ?>/images/ico_descargas.png"><br>
                Descargar PDF
            </a>
        </div>
    <?php endforeach;
endif;
?>

因为我正在使用 Table of Content Plus 插件并且没有找到在 the_content() 本身之外显示生成的目录的方法,所以我唯一的解决方案是通过侧边栏上的小部件显示它.现在,我的问题是:我可以在自定义侧边栏中访问 the_post() 内容,例如附件吗?怎么样?

此外,如果有人知道在内容之外显示目录的任何变体,如果可以分享,我将不胜感激。

不,我不这么认为。 the_post() 仅在循环内有效,侧边栏通常在循环外呈现。

但是,您可以将 get_post 与全局 $post 一起使用,即:

global $post;

$p = get_post($post->ID);