为自定义分类法和相关自定义帖子类型构建Wordpress页面模板。在一个新的WP_查询中,我需要从(2)不同的ACF post对象字段中获取字段;列表人员和列表代表代码在wp_reset_postdata()之前按预期工作;返回正确数量的结果,每个帖子中的数据在重置点之前是唯一的。重置后,每个帖子中的所有数据都相同。代码如下,我确信有一个更优雅的解决方案:
<?php
$args = array(
'orderby' => 'title',
'order' => 'ASC',
'post_type' => 'parade-of-homes',
'parade-category' => 'parade-homes',
'posts_per_page' => -1,
'meta_key' => 'entry_number',
'orderby' => 'meta_value',
'order' => 'ASC'
);
$listing = new WP_Query( $args );
if ( $listing->have_posts() ) :
while ( $listing->have_posts() ) : $listing->the_post();
?>
<?php the_field('list_number'); ?>
<?php
$staff = get_field('list_staff');
$rep = get_field('list_rep');
if( $staff ):
// override $post
global $post;
$post = $staff;
setup_postdata( $post );
?>
<?php the_permalink(); ?><?php the_title(); ?>
<?php
endif;
if( $rep ):
// override $post
$post = $rep;
setup_postdata( $rep );
?>
<?php the_field('mkt_co'); ?><?php the_field('mkt_tel'); ?>
<?php
endif;
wp_reset_postdata();
?>
<?php the_field('list_address') ?>
<?php
endwhile;
endif;
wp_reset_query();
?>
我想出来了。对于此应用程序,setup_postdata()是一个完全错误的方向。ACF页面上记录的“显示多个post对象的数据”是正确的。正如文章所述,“使用此方法,$post对象永远不会更改,因此所有函数都需要第二个有问题的post ID参数。”请在此处阅读更多信息;https://www.advancedcustomfields.com/resources/post-object/. 我的工作代码如下:
<?php
$args = array(
'orderby' => 'title',
'order' => 'ASC',
'post_type' => 'parade-of-homes',
'parade-category' => 'parade-homes',
'posts_per_page' => -1,
'meta_key' => 'entry_number',
'orderby' => 'meta_value',
'order' => 'ASC'
);
$listing = new WP_Query( $args );
if ( $listing->have_posts() ) :
while ( $listing->have_posts() ) : $listing->the_post();
?>
<?php
the_field('list_number');
$post_object = get_field('list_staff');
if( $post_object ):
?>
<a href="<?php echo get_permalink($post_object->ID); ?>">
<?php echo get_the_title($post_object->ID); ?>
<?php
endif;
?>
<?php
$post_object = get_field('list_rep');
if( $post_object ):
?>
<p><?php the_field('mkt_co', $post_object->ID); ?></span></p>
<a href="tel:<?php the_field('mkt_tel', $post_object->ID); ?>"><?php the_field('mkt_tel', $post_object->ID); ?></a>
<?php
endif;
?>
<?php the_field('list_address') ?>
<?php
endwhile;
endif;
wp_reset_query();
?>
我有一个自定义的文章类型(媒体文章),它使用一些自定义字段,有一个自定义分类法(媒体文章类别)和该分类法中的14个术语。我可以使用CPT归档模板输出所有自定义帖子。 我在侧边栏中还有一个菜单,它列出了用于过滤自定义帖子的术语(我使用了一个自定义WP菜单小部件来创建列表)。 我用一个查询设置了一个自定义分类模板。根据args中放置的分类术语,我能够成功地组合或单独显示帖子。因此,如果我不需要使用过滤
使用下面的代码,我列出了自定义帖子类型“人物”下的所有帖子 下面是我的页码, 我还创建了一个插件,使用上面的代码在边栏中显示标题列表。因此,每当我访问mysite.com/people这两个网站时(即带有分页的自定义帖子列表 若我转到第二页,侧边栏显示为空。 有人知道我哪里出错了吗?
我在Wordpress中有作为CPT的产品,并尝试使用复选框根据分类法筛选帖子。我有两种分类法,品牌和尺寸。它们在索引中是这样输出的。php文件: 在我的functions.php文件中,我有以下内容来构建WP_query并包括分类法: 这是scripts.js中的AJAX/jQuery: 我得到的是一个半工作结果,其中为所有可用品牌和尺寸创建了复选框,并且可以进行过滤。问题是,如果检查了XL码和
我正在应用程序中使用Hazelcast作为共享映射。我的地图是这样的: 第144行: 这里是我的类: 很酷,在重新编译Hazelcast之后,使用这个新的jar,我可以使用普通SQL访问查询。但对于pagingQueries,我有一些错误。
我正在开发一个插件,它将放在我的woocommerce产品侧栏中。我需要的是,给定产品id/对象,它将找到2个具有我以前创建的相同自定义分类法的产品。 通过这段代码,我得到了产品中使用的术语列表,其中“colline”是自定义分类法: 问题是我不知道如何获取自定义分类id,以及如何根据自定义分类对其进行过滤。 我已经使用WP_Query查找同一类别的产品,代码如下: 如何更改代码以获得所需的分类i
我已经创建了一个包含多个分类法的自定义查询,在此基础上,我使用进行分页。分类法是通过下拉选择表单来选择的,使用可以过滤帖子,这只是一个临时解决方案,但目前效果良好,值得注意。 分页工作正常,当选择分类术语时,帖子可以正确显示,但是当我离开第一页,比如说我进入第2页,在下拉选择器中选择不同的分类术语时,URL会保留当前页码,并向其中添加选择器ID。我想实现的是,当我在选择器中单击不同的分类法时,新选