我的一个术语标题随机插入了标签,并作为链接出现在我的存档中。
此行为可以在以下位置看到:https://summithmeinc.com/faq/.
我已经检查了多次替换默认循环的函数,但不知道为什么它会这样做。在函数中,我得到相应的术语,并用<h2>
标记,但将出现一个实例w/<a>
中的标记<h2>
标签。
function smt_faq_output() {
$faq_cat_terms = get_terms(\'faq_category\');
foreach($faq_cat_terms as $faq_cat_term) {
$faq_cat_query = new WP_Query(array(
\'post_type\' => \'faq\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'faq_category\',
\'field\' => \'slug\',
\'terms\' => array( $faq_cat_term->slug),
\'operator\' => \'In\'
)
)
));
echo \'<h2>\'. $faq_cat_term->name .\'</h2>\';
if($faq_cat_query->have_posts()):
echo \'<div class="qa-accordion">\';
$i = 1;
while($faq_cat_query->have_posts()): $faq_cat_query->the_post();
echo \'<div class="qa-set">\';
echo \'<a class="question" href="#answer-\'. $i .\'-\'. $faq_cat_term->name .\'">\';
echo the_field(\'question\');
echo \'</a>\';
echo \'<div id="answer-\'. $i .\'-\'. $faq_cat_term->name .\'" class="answer">\';
echo the_field(\'answer\');
echo \'</div><!-- end answer block --></div><!--end qa_set div-->\';
$i++;
endwhile;
echo \'</div><!-- end qa_accordion -->\';
endif;
$faq_cat_query = null;
wp_reset_postdata();
}
}
以下是手风琴。我用来向手风琴项目添加功能的js脚本。
jQuery(document).ready(function($) {
function close_accordion_section() {
$(\'.qa-accordion .question\').removeClass(\'active\');
$(\'.qa-accordion .answer\').slideUp(300).removeClass(\'open\');
}
$(\'.question\').click(function(e) {
// Grab current anchor value
var currentAttrValue = $(this).attr(\'href\');
if($(e.target).is(\'.active\')) {
close_accordion_section();
}else {
close_accordion_section();
$(this).addClass(\'active\');
$(\'.qa-accordion \' + currentAttrValue).slideDown(300).addClass(\'open\');
}
e.preventDefault();
});
});
我唯一能想到的是,它与查询中的奇怪行为有某种关联,因为我前面提到了默认循环,其中包含了一个更自定义的查询,以包括术语标题/组织输出。此后,我学会了使用pre\\u get\\u posts编辑默认查询,但我不确定如何对这种类型的输出进行编辑,因为需要此归档中的默认循环提供更多功能。
我在这里是否遗漏了一些东西,以解释为什么这会随机显示为链接?
最合适的回答,由SO网友:Jacob Peattie 整理而成
您的查询很好。这是将其拆分为类似部分的唯一方法,但它属于页面模板,而不是存档。归档文件应始终使用其内容的主循环。将帖子类型设为私有以关闭存档,只需在页面模板中使用查询即可。
但是对于标记问题,查询永远不会像那样插入标记。查询不会在内容之外输出任何标记。你的问题是前一个问题中的内容,“Summit目前接受哪些保险?”未正确关闭链接标记:
or please <a href="https://summithmeinc.com/services/insurance-billing/">refer to our page on insurance billing for a list of current insurance companies we work with<a/>.
那个
<a/>
最终需要
</a>
.