是否使用wp_GET_ARCHIES()函数显示发布日期?

时间:2014-08-12 作者:AndreaNobili

我对wp_get_archives() function

在我的网站中,我创建了以下页面模板,该模板使用wp_get_archives() 用于显示帖子列表的函数:

<?php 

    /**
     * Template Name: Posts Archive
     *
     * A custom page template for displaying all posts.
     *
     * The "Template Name:" bit above allows this to be selectable
     * from a dropdown menu on the edit page screen.
     *
     * @package WordPress
     * @subpackage Twenty_Ten
     * @since Twenty Ten 1.0
     */

    get_header(); 

?>

<!-- Contenuti (griglia) -->
<div class="container">
    <!-- Lead presentazione -->
    <section id="presentazione">
        <div class="row">
            <div class="col-sm-12">
                <!--<h1 class="text-center"><small>Associazione per la Tutela dei Diritti Umani del Popolo Eritreo</small></h1>-->
                <h1 class="text-center title">Associazione per la Tutela dei Diritti Umani del Popolo Eritreo</h1>
                <h1 class="text-center leadTitle">Association in Defense of the Human Rights of the Eritrean People</h1>
                <!--
                <p class="lead text-center">
                    Association in Defense of the Human Rights of the Eritrean People
                </p>
                -->
            </div><!-- /.col-sm-12 -->
        </div><!-- /.row -->
    </section><!-- /section presentazione -->
    <!-- Progetti in evidenza -->

    <header class="header-sezione">
        <h2>Archivio post</h2>
    </header>

    <ul>
        <?php wp_get_archives(\'type=postbypost\'); ?>
    </ul>

    </section>

</div>

<?php get_footer(); ?>
It工作和this 是结果(我只需要设置与字体大小相关的正确CSS)

好的,现在我的问题是:使用wp_get_archives() 功能我可以在每次发布之前显示发布日期吗?。

我想获得如下信息:

2014年4月10日-职务

而不仅仅是帖子标题。

我可以将一些参数传递给wp_get_archives() 作用或者唯一的解决方案是不使用此函数并在我的模板页面中创建自定义循环?

2 个回复
SO网友:Shazzad

wp_get_archives() 无法显示发布日期,但您可以强制wp_get_archives 使用钩子显示日期。

将以下函数放在自定义模板文件或函数的末尾。php文件-

function wpse_the_title($title, $id){
    if( $date = get_the_date(\'d/m/Y\', $id) ){
        $title = sprintf(\'%s - %s\', $date, $title);
    }
    return $title;
}
替换为适当的代码-

<?php add_filter(\'the_title\', \'wpse_the_title\', 10, 2); ?>
<ul>
    <?php wp_get_archives(\'type=postbypost\'); ?>
</ul>
<?php remove_filter(\'the_title\', \'wpse_the_title\', 10, 2); ?>

SO网友:Ruurd de Wind

Wordpress中的wp\\u get\\u archives函数不支持显示日期。然而,我的解决方案在没有使用此功能的情况下仍能正常工作,这可能对您或其他人的原因很方便:

在函数中。主题的php文件放置以下内容:

 function recentPostsDate() {
    $rPosts = new WP_Query();
    $rPosts->query(\'showposts=6\');
    while ($rPosts->have_posts()) : $rPosts->the_post(); ?>
        <ul>
            <li>
                <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">
                    <?php the_date(\'d/m/Y\', \'<span class="date">\', \'</span>\'); the_title(); ?>
                </a>
            </li>
        </ul>
    <?php endwhile;
    wp_reset_query();
}
之后,只需调用以下函数即可在主模板中使用:

<?php recentPostsDate(); ?>
根据我选择的设置,输出将如下所示:

2015年4月1日第一新闻标题2015年3月23日第二新闻标题2015年3月14日第三新闻标题。。。

结束

相关推荐

If is_single in functions.php

我希望删除wpautop筛选器仅对我博客中的帖子起作用。因为在某些页面,我需要autop,而在某些页面,我需要它不在那里。我使用以下规则,这是在我的主题函数中。php:remove_filter( \'the_content\', \'wpautop\' ); 因为我只想在博客上看到它,所以我在考虑if语句,我在Wordpress中搜索了条件标记页面,发现我可以使用is\\u single。但它不起作用。这是我现在使用的代码。if(is_single() ){ remove_f