Пример вопроса: сайт aviatech.carapax.ru, cms wordpress, theme salient. Fancybox на главной неадекватно ведут себя при изменении размера экрана. Как поправить?
$comments = get_comments([
'status' => 'approve',
'number' => 5,
'date_query' => [
'before' => 'now',
'inclusive' => false,
],
]);
Теперь в файле archive-portfolio.php я прописал цикл wp_query и указал вывести 10 записей. У меня всего их 10 шт.
function modify_main_query( $query )
{
if ( is_admin() || ! $query->is_main_query() ) {
return;
}
if ( is_post_type_archive( 'portfolio' ) ) {
// Display 10 posts for a custom post type called 'portfolio'
$query->set( 'posts_per_page', 10 );
return;
}
}
add_action( 'pre_get_posts', 'modify_main_query' );
// 1. get_term_children() вернет массив ID терминов.
$children_ids = get_term_children( 1, 'category' );
// 2. in_category() как раз такой массив терминов и ожидает.
if ( in_category( $children_ids ) ) {
//
}
Пересел на acf, но очень не хватает повторяющейся полей и опций для темы.
Нашел плагин подс, но судя по описанию, он не умеет этого делать.
setcookie() задает cookie, которое будет передано клиенту вместе с другими HTTP-заголовками. Как и любой другой заголовок, cookie должны передаваться до того как будут выведены какие-либо другие данные скрипта (это ограничение протокола). Это значит, что в скрипте вызовы этой функции должны располагаться до остального вывода, включая вывод тегов и , а также пустые строки и пробельные символы.
Warning: Cannot modify header information - headers already sent by (output started at /Users/Ihor/Code/playground/wp-includes/class.wp-styles.php:242) in /Users/Ihor/Code/playground/wp-content/themes/playground/footer.php on line 8
expires
Время, когда срок действия cookie истекает. Это метка времени Unix, то есть количество секунд с начала эпохи. Другими словами, желательно задавать это время с помощью функции time(), прибавляя время в секундах, через которое срок действия cookie должен истечь. Либо можно воспользоваться функцией mktime(). time()+60*60*24*30 установит срок действия cookie 30 дней. Если задать 0 или пропустить этот аргумент, срок действия cookie истечет с окончанием сессии (при закрытии браузера).
function my_setcookie_example()
{
setcookie(
'testing',
'123',
time() + 30 * DAY_IN_SECONDS, // вот так должно быть
COOKIEPATH,
COOKIE_DOMAIN
);
}
add_action( 'init', 'my_setcookie_example' );
После передачи клиенту cookie станут доступны через массив $_COOKIE при следующей загрузке страницы. Значения cookie также есть в $_REQUEST.
var_dump($_COOKIE['testing']);
сработает только после перезагрузки, а при первой попытке - NULL и: Notice: Undefined index: testing in /Users/Ihor/Code/playground/wp-content/themes/playground/functions.php on line 134
. /**
* Display native post thumbnail or a fallback image.
*
* @param string $size
* @param string $attr
*/
function the_post_thumbnail_fallback( $size = 'post-thumbnail', $attr = '' )
{
if ( has_post_thumbnail() ) :
echo get_the_post_thumbnail( null, $size, $attr );
else :
$post_thumbnail_id = get_option( 'default_post_thumbnail' );
$html = wp_get_attachment_image( $post_thumbnail_id, $size, false, $attr );
/**
* Filters the post thumbnail HTML.
*
* @param string $html The post thumbnail HTML.
* @param int $post_id The post ID.
* @param string $post_thumbnail_id The post thumbnail ID.
* @param string|array $size The post thumbnail size. Image size or array of width and height values (in that order). Default 'post-thumbnail'.
* @param string $attr Query string of attributes.
* @since 2.9.0
*/
echo apply_filters( 'post_thumbnail_html', $html, null, $post_thumbnail_id, $size, $attr );
endif;
}
<header class="post-header">
<h1 class="post-title">
<?php the_title(); ?>
</h1>
<div class="post-thumbnail">
<?php the_post_thumbnail_fallback(); ?>
</div>
</header>
$post_thumbnail_id = get_option( 'default_post_thumbnail' );
parent => 21
(фиксированный ID на одном языке) передавать parent => {ID отфильтрованный через Popylang}
. Вот так:$categories = get_categories([
'taxonomy' => 'category',
'type' => 'post',
'child_of' => '',
'parent' => pll_get_term(21),
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 0,
'hierarchical' => 1,
'exclude' => '',
'include' => '',
'number' => 0,
'pad_counts' => false,
]);
SELECT post_id, post_status, meta_value
FROM wp_postmeta
JOIN wp_posts
ON wp_postmeta.post_id=wp_posts.id
WHERE meta_key = 'data-provedeniya' AND post_status = 'publish'
global $wpdb
всегда будет возвращать null
- ибо в вашем текущем глобальном scope (вашего кастомного кода который никак не связан с WP) данной переменной нет. Чтобы она там появилась, вам нужно подгрузить минимально необходимую часть ядра WP:define( 'SHORTINIT', true );
require( '/path/to/wp-load.php' );