0
好來組織自定義WordPress的帖子,所以我使用的插件類型和文章2帖子插件構建有一個名爲「開放」自定義後類型保存有關特定職位空缺信息的網站及其相關顧問。我需要能夠按照州(阿拉巴馬州,阿拉斯加州等)組織的頁面顯示這些帖子。我有一個解決方案,但它似乎非常低效。更有效的方式通過國家
我不會擔心太多,但它是被託管的資源非常有限,我的解決方案的服務器上,而它的工作原理我的開發服務器上的偉大,超時現場服務器上。
下面是我使用的每個狀態代碼:
<!-- -----------------------Alabama ------------------------ -->
<!-- Pulls the list of openings -->
<?php $loop = new WP_Query(array('post_type' => 'current-opening', 'meta_key' => 'wpcf-state', 'meta_value' => 'alabama', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC')); ?>
<a name="alabama">
<?php $count = 1; ?>
<?php while ($loop->have_posts()) : $loop->the_post(); ?>
<?php $cat = types_render_field("state");
if($cat == 'Alabama') : ?>
<?php if($count == 1){ echo "<h2>Alabama</h2>"; ++$count; ++$alabama; echo "<hr />"; } ?>
<ul>
<li><h3 class="entry-title"><?php the_title(); ?></li>
<li><?php echo(types_render_field("position", array("show_name" => "true"))); ?></li>
<li><?php echo(types_render_field("enrollment", array("show_name" => "true"))); ?></li>
<!-- Display the connected Consultant(s) -->
<?php
// Find connected Consultants
$connected = new WP_Query(array(
'connected_type' => 'consultant_to_opening',
'connected_items' => $post,
'nopaging' => true
));
// Display connected Consultants
p2p_list_posts($connected, array(
'before_list' => '<li>Consultant(s): ',
'separator' => ', ',
'after_list' => '</li>',
));
?>
<li><?php echo(types_render_field("school-district-website", array("show_name" => "true", "no_protocol" => "true"))); ?></li>
<?php $deadline = types_render_field("application-deadline", array("show_name" => "true", "style" => "text"));
if($deadline) : ?>
<li><?php echo $deadline; ?></li>
<?php endif; ?>
<?php $app_word = types_render_field("application-form-word", array("show_name" => "true", "link" => "true", "title" => "Download"));
if($app_word) : ?>
<li><?php echo $app_word; ?></li>
<?php endif; ?>
<?php $app_pdf = types_render_field("application-form-pdf", array("show_name" => "true", "link" => "true", "title" => "Download"));
if ($app_pdf) : ?>
<li><?php echo $app_pdf; ?></li>
<?php endif; ?>
<?php $app_link = types_render_field("application-link", array("show_name" => "true", "link" => "true", "title" => "Click Here"));
if ($app_link) : ?>
<li><?php echo $app_link; ?></li>
<?php endif; ?>
<?php $vacancy = types_render_field("announcement-of-vacancy", array("show_name" => "true", "link" => "true", "title" => "Download"));
if($vacancy) : ?>
<li><?php echo $vacancy; ?></li>
<?php endif; ?>
<?php $notes = types_render_field("notes", array("show_name" => "true"));
if ($notes) : ?>
<li><?php echo $notes; ?></li>
<?php endif; ?>
</ul>
<?php endif; ?>
<?php endwhile; ?>
<!-- -----------------------/Alabama ------------------------ -->
這裏的問題是,我查詢數據庫以獲取與狀態相關聯的開口,然後通過每個結果顯示每個循環然後查詢數據庫中的相關顧問。如果我只是爲一種狀態做這件事,那不是很多工作,但我必須爲所有50個州和華盛頓特區做這件事,並將它們全部顯示在一頁上。
有什麼我可以做的,以提高效率?
你考慮寫一個自定義查詢要做到這一點,而不是依賴於WordPress的功能呢? – amaster