我正在一个使用FacetWP作为事件位置页面的网站上工作,但有一个关键功能不起作用。去年,另一个开发人员建立了一个自定义解决方案,列出FacetWP帖子,并按照它们所处的状态对它们进行排序。他们为此使用了自定义分类法,但从那时起,插件和is地图加载项的更新打破了该解决方案。
FacetWP背后的开发人员一直在帮助我修改自定义解决方案,但他现在不在,我仍然需要一些帮助。他指示我重做查询,以删除自定义分类法,并使用自定义字段代替状态名称,因为这样可以更好地与插件配合使用。因此,此模板的查询如下所示:
<?php
return array(
\'post_type\' => \'location\',
\'post_status\' => \'publish\',
\'posts_per_page\' => -1,
\'order\' => \'ASC\',
\'meta_key\' => \'state\',
\'orderby\' => array(
\'meta_value\' => \'ASC\',
\'title\' => \'ASC\',
),
);
这部分工作得很好,解决了我之前遇到的一个问题。我重建了模板的显示代码,如下所示:
<?php
while ($query->have_posts()) {
$state = get_field(\'state\');
$show_header = (empty($prev_state) || $state != $prev_state);
$prev_state = $state;
$query->the_post();
$post_id = get_the_ID();
$title = get_the_title($post_id);
$distance = facetwp_get_distance($post_id);
$distance = (false !== $distance) ? round($distance, 1) . \' miles away\' : \'\';
$coords = get_post_meta($post_id, \'location\', true);
$content = get_the_content();
?>
<?php if ($show_header): ?>
<h1 class="state-name"><?php echo esc_html($state); ?></h1>
<?php endif;?>
<div class="post-item" data-title="<?php echo esc_attr($title); ?>"
data-latitude="<?php echo $coords[\'lat\']; ?>" data-longitude="<?php echo $coords[\'lng\']; ?>"
data-distance="<?php echo $distance; ?>">
<div class="post-item-content">
<h2><?php echo $title; ?></h2>
<?php echo $content; ?>
</div>
</div>
<?php
}
wp_reset_query();
?>
你可以从中看到
the staging server where I\'m testing this 它几乎可以工作,但不是百分之百正确。帖子没有按州正确列出,列表上方的州标题不正确。
这是漫长的一天,我的大脑只是看不到我需要做什么来纠正这个问题。我完全可以朝着正确的方向轻推。