【问题标题】:Wordpress customized archive page link via custom date field通过自定义日期字段的 Wordpress 自定义存档页面链接
【发布时间】:2014-12-22 18:28:28
【问题描述】:

我自定义了一个 WordPress 存档页面,该页面显示了一个由名为“email_blast_date”的自定义日期字段过滤的帖子列表。 我正在尝试弄清楚如何在我的标题或侧边栏中生成一个链接,该链接将用户引导至包含已发布帖子的最新“email_blast_date”日期的存档页面。我仍然是一名新的 WP 开发人员...这就是我所知道的:

  • 我已根据我的自定义字段“email_blast_date 而不是发布日期”使存档页面正常工作。

  • 存档页面 URL 是结构化的,并与“日期和名称”固定链接设置一起使用 (domain.com/%year%/%month%/%day%/)。

    • 我假设我需要使用类似“get_day_link();”的东西但我不确定如何自定义该调用以通过我的自定义日期字段过滤帖子并检索所有已发布帖子的最新“email_blast_date”。存档小部件已经这样做了,但它基于发布日期而不是我的自定义日期字段。

非常感谢您的帮助!

【问题讨论】:

    标签: wordpress date archive custom-fields dynamic-linking


    【解决方案1】:
         <?php    
         $args = array(
            'post_type'      => 'post',
               'numberposts'    => 1,
               'meta_key'       => 'email_blast_date',
               'order'          => 'DESC',
               'orderby'       => 'meta_value'
          );
    
          $loop = new WP_Query( $args );
    
          while ( $loop->have_posts() ) : $loop->the_post(); endwhile; 
    
         $eb_date = strtotime(get_post_meta( get_the_ID(), 'email_blast_date', true )); 
    
       $year  = date('Y',$eb_date); 
       $month = date('m',$eb_date);
       $day   = date('d',$eb_date); 
       $link = $year . "/" . $month . "/" . $day . "/";
       ?>
    
       <a href="<?php echo esc_url( home_url( $link ) ); ?>
    

    【讨论】:

    • 我很尴尬,您的回答似乎如此简单,而且在我询问后的 20 分钟内。为了完成这项工作,我必须进行的唯一更改/修复是将链接行从 &lt;a href="&lt;?php echo $link;?&gt;"&gt;Archive&lt;/a&gt; 更改为 &lt;a href="&lt;?php echo esc_url( home_url( $link ) ); ?&gt;"&gt;Archive&lt;/a&gt;。非常感谢! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 2017-12-31
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多