gpt4 book ai didi

php - 按州组织自定义 WordPress 帖子的更有效方法

转载 作者:行者123 更新时间:2023-11-30 00:56:51 25 4
gpt4 key购买 nike

好的,我正在使用 Types 插件和 Posts 2 Posts 插件来构建一个网站,该网站具有名为“opening”的自定义帖子类型,该类型包含有关特定职位空缺及其相关顾问的信息。我需要能够在页面上显示这些帖子,按州(阿拉巴马州、阿拉斯加州等)组织。我有一个解决方案,但似乎效率很低。

我不会太担心它,但它托管在资源非常有限的服务器上,而我的解决方案虽然在我的开发服务器上运行良好,但在实时服务器上超时。

这是我为每个状态使用的代码:

    <!-- -----------------------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 ------------------------ -->

这里的问题是,我正在查询数据库以获取与该州关联的空缺职位,然后循环遍历每个结果以显示其每个字段,然后在数据库中查询其关联的顾问。如果我只为 1 个州执行此操作,工作量并不大,但我必须为所有 50 个州加上华盛顿特区执行此操作,并将其全部显示在一页上。

我可以做些什么来提高效率吗?

最佳答案

types_render_field() 函数似乎效率不高。我用内置的 WordPress 函数替换这些函数来显示自定义字段,这对我自己很有帮助:get_post_meta()

关于php - 按州组织自定义 WordPress 帖子的更有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20481306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com