Настраиваемая WordPress ссылка на страницу архива через поле даты

Я настроил страницу архива WordPress, которая отображает список постов, отфильтрованных по настраиваемому полю даты "email_blast_date". Я пытаюсь выяснить, как создать ссылку в моем заголовке или боковой панели, которая направляет пользователей на страницу архива с последним днем ​​'email_blast_date', который содержит опубликованные сообщения. Я все еще новый разработчик WP... это то, что я знаю:

  • У меня работает архивная страница, основанная на моем настраиваемом поле "скорее email_blast_date", а не на дате публикации.

  • URL страницы архива структурирован и работает с настройками постоянной ссылки "День и имя" (domain.com/%year%/%month%/%day%/).

    • Я предполагаю, что мне нужно использовать что-то вроде 'get_day_link();' но я не уверен, как настроить этот вызов, чтобы фильтровать посты через мое поле даты и получать последние 'email_blast_date' всех опубликованных постов. Архивный виджет уже делает это, но он основан на дате публикации, а не на моем поле даты.

Любой вам заранее за вашу помощь!!

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 ) ); ?>
Другие вопросы по тегам