Intereting Posts
Добавление кнопки покупки в сообщение в блоге (Woocommerce) Как создать страницу для авторов? как www.myblog.com/author/ Когда WP_Query возвращает только 1 сообщение, как мне автоматически перенаправить на этот пост? Условный add_filter для загрузки каталога? load_child_theme_textdomain не работает в function.php Использовать базу данных пользователей phpbb для WordPress Использование «mysqli_connect» «сбой» WordPress на стороне клиента Разметка заголовка виджетов в register_sidebar WP_Query tax_query – Показать результаты, если у ребенка есть родительский элемент X Как включить PHP-сгенерированный javascript? Как связать более одного пользователя с сообщением? Как сделать wp-signup.php 1-ступенчатым процессом Невозможно выполнить санитарию в настройках и скрыться в теме, не удаляя пользователя для использования «<br>», чтобы вставить разрыв строки Изменить язык WordPress Удалить ссылку на single-custom.php с перенаправлением

Запрос по специальным датам в UNIX Time

У меня есть пользовательская дата, зарегистрированная в UNIX Time в моей базе данных:

meta_key: custom_date meta_value: 1322697600

и тип мета-ключа – длинный текст

Я хотел бы получить конкретную запись в соответствии с годом этого custom_date

Мне хотелось бы что-то вроде этого:

$args = array( 'paged' => $paged, 'posts_per_page' => 10, 'post_type' => 'custom', 'post_status' => 'publish', 'meta_query' => array( array( 'key'=>'custom_date', 'value'=> '2010' ) ); 

Кто-нибудь знает, как преобразовать пользовательскую дату в Date в запросе и получить только год этой даты?

Solutions Collecting From Web of "Запрос по специальным датам в UNIX Time"

PHP имеет встроенную функцию date() которая форматирует Date-объекты. В вашем случае вы будете использовать его следующим образом:

 echo date('Y', 1322697600); 

Поскольку вы используете эти аргументы запроса для создания массива сообщений и хотите отфильтровать именно на этом, я бы рекомендовал создать функцию, которая запускает цикл на основе выбранного вами фильтра года.

Я использовал аналогичную функцию, подобную приведенной ниже:

 function check_post_date($filter_year) { // Load the custom_date meta field $custom_date = get_post_meta( get_the_ID(), 'custom_date', true ); // Turn it into a string that only displays the year $custom_date_year = date('Y', $custom_date); // If the years equal, return true. if( $custom_date_year == $filter_year ) { return true; } else { return false; } } 

При этом вы можете манипулировать, если цикл работает для этого сообщения.

Например, если вы хотите отфильтровать в 2010 году, вы можете написать свой цикл следующим образом:

 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php if check_post_date('2010') : ?> <!-- Your single post code goes here! --> <?php endif; ?> <?php endwhile; endif; ?>