Я надеюсь, что кто-то может помочь с этим — я пытался отладить некоторое время сейчас.
Я использую WordPress [шорткод] для отображения списка часто задаваемых вопросов на странице. Часто задаваемые вопросы представляют собой пользовательские типы сообщений, поэтому для отображения каждого из них используется простой цикл. У меня есть код цикла в отдельном файле, который я вызываю с помощью включения в функции шорткода, например:
function insert_faq_list($atts) {
extract( shortcode_atts( array(
'type' => '', // no selection
'amount' => '-1', // all
), $atts ) );
if (file_exists(STYLESHEETPATH.'/insertfaqlist.php')) {
ob_start();
include(STYLESHEETPATH.'/insertfaqlist.php');
$content = ob_get_clean();
return $content;
}
}
add_shortcode('insertfaqlist', 'insert_faq_list');
И код цикла таким образом:
<?php
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
query_posts( array( 'post_type' => 'faq', 'posts_per_page' => $amount, 'faq_type' => $type , 'caller_get_posts' => 1, 'paged' => $paged ) ); ?>
<div class="faq-wrapper">
<h2>Frequently Asked Questions</h2>
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<div class="faq-item">
<h3><a href="#" class="show readmorelink"><?php the_title(); ?></a></h3>
<div class="slidingDiv">
<?php the_content(); ?>
</div> <!-- slidingDiv -->
</div> <!-- faq-item -->
<?php endwhile; ?>
<?php endif; ?>
</div> <!-- faq-wrapper -->
<?php wp_reset_query();?>
Тем не менее, на последней отображаемой странице слишком много закрывающих элементов, поэтому форматирование каждого часто задаваемого вопроса перепутано. Я исключил JQuery, используемый для «раскрытия» каждого ответа на часто задаваемые вопросы, и поэтому я сузил его до самого the_content (). Если я поменяю местами the_content () для какого-то прямого текста, все будет отображаться нормально, так что каким-то образом the_content () заставляет другие div-ы преждевременно закрываться. Посты часто задаваемых вопросов также являются простым текстом, поэтому в них нет HTML-форматирования, которое могло бы испортить упаковочные элементы.
Любая помощь приветствуется. Ура!
Задача ещё не решена.
Других решений пока нет …