我有一个网站,它有一个静态首页和一个博客页面,其中显示所有博客。
我正在使用自己的主题,并创建了一些自定义元框,这些元框根据$post->ID
. 我得到的有趣行为是$post->ID
给我第一个博客的ID,而不是博客页面本身的ID。我在循环外使用$post,并已将其声明为全局,但没有任何效果。我还尝试使用$wp_query->post->ID
但这给了我最后一篇帖子的ID。
相关代码是我使用$post的地方,下面是这段代码位于页脚。php:
<?php require_once(\'wp-content/plugins/markdown.php\'); ?>
<aside class="left-column">
<?php
global $post;
$leftSidebar = get_post_meta( $post->ID, \'_my_meta\', true );
// Convert markdown to HTML and then convert smilies
if ( isset( $leftSidebar[\'leftContent\'] ) ) {
echo convert_smilies( markdown( $leftSidebar[\'leftContent\'] ) );
}
?>
</aside>
用于循环的代码位于下面,并放置在索引中。php:
get_header(); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<div class="post-date"><?php the_time(get_option( \'date_format\' )); ?></div>
</header>
<?php the_excerpt(); ?>
<footer class="post-footer">
<div class="categories">Posted in: <?php the_category(\', \'); ?></div>
<div class="tags">Tags: <?php the_tags(); ?></div>
</footer>
</article>
<?php endwhile; ?>
<?php else : ?>
<article>
<h3>Not Found</h3>
<p>Sorry, but you are looking for something that is not available</p>
</article>
<?php endif; ?>
如果需要进一步的信息,请告诉我。如果有一种方法可以通过编程找到博客页面的ID,并使博客页面识别自己是博客页面,而不是解决我问题的第一篇文章,我想。
提前谢谢。