Я разработал специальную тему WordPress с нуля. У меня проблема. Когда я пытаюсь использовать собственный shortcode галереи wordpress в своем сообщении или на странице, он отлично отображается в редакторе, но не отображается на лицевой стороне.
Я даже попробовал это, используя:
echo do_shortcode('');
Но ничего не показалось …
Другое сообщение / содержание страницы отображается отлично, но только галерея не отображается. Это похоже на то, что он даже не генерирует ничего на front-end.
Если бы я переключил тему на любую другую тему, она работала, но не в моей теме, поэтому ее ясно, что ее тема проблема. Должен ли я добавить какую-то поддержку темы для галереи?
Любая помощь будет оценена 🙂
Обновление: 2 мая 2017 года
Я использую pre_get_posts
hook, который вызывает проблему. Может кто-нибудь помочь мне понять, почему?
Ждал много, но не смог найти ответ … Я нашел проблему, но не знаю, как ее решить. Но, к счастью, вокруг есть способ.
Я использовал pre_get_posts
wordpress для установки tax_query
который выглядит так:
add_action( 'pre_get_posts', 'homeInjector' ); function homeInjector( $query ) { if ( $query->is_home() ) { $issues = get_terms( array( 'taxonomy' => 'issues' ) ); if ( isset( $_POST['issue'] ) ) { $term = $_POST['issue']; } else { $term = $issues[0]->slug; } $arg = array( array( 'taxonomy' => 'issues', 'terms' => $term, 'field' => 'slug' ) ); $query->set( 'tax_query', $arg ); }
но если я использую тот же код в index.php с new WP_Query
объектом new WP_Query
он работает!
$issues = get_terms( array( 'taxonomy' => 'issues' ) ); if ( isset( $_POST['issue'] ) ) { $term = $_POST['issue']; } else { $term = $issues[0]->slug; } $qry = new WP_Query( array( 'post_type' => 'post', 'tax_query' => array( array( 'taxonomy' => 'issues', 'terms' => $term, 'field' => 'slug' ) ) ) );
Не знаю, почему, но это работает …
Но все же я буду ждать соответствующего ответа, потому что мой – это всего лишь способ помочь мне и другим 🙂