具有多个子字段的 ACF 转发器字段在今天日期之前已检查
ACF repeater field with multiple subfields checked by today date
我有一个名为 "today" 的自定义字段(转发器)。其中,我有一个 "choose the calendar date" 子字段。
我在产品 (woocommerce) 上添加了 1、2、3 或更多日期。 return 日期类似于 dd/mm,我得到今天的日期与类似日期 (d/m).
进行比较
问题是加载时间非常长,我没有得到任何结果...
我尝试过的:
$today = date('d/m');
$args = array(
'numberposts' => -1,
'post_type' => 'product',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'today_$_mdate',
'compare' => '=',
'value' => $today
)
)
);
$the_query = new WP_Query( $args );
if( $the_query->have_posts() ): ?>
<ul>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
</ul>
<?php else:
echo "No prods"; endif; ?>
<?php wp_reset_query();
转发器字段:today
子字段:date
为什么我不能 return 只有转发器字段子字段设置为
今天的日期?
它甚至没有 return 产品。
这是 WP 中的产品句柄:http://prntscr.com/kkobbb
这是自定义字段集:http://prntscr.com/kkobqo
$today returns `20/08`
新方法:
$today = date('d/m');
$args = array(
'post_type' => 'product',
'posts_per_page' => -1
);
$products = new WP_Query( $args );
if ( $products->have_posts() ) {
echo '<ul>';
while ( $products->have_posts() ) {
$products->the_post();
if( have_rows('today') ):
while ( have_rows('today') ) : the_row();
the_sub_field('mdate');
endwhile;
else :
// no rows found
endif;
}
echo "</ul>";
}
wp_reset_query();
加载时间仍然很长...还有消息 Fatal error: Allowed memory size of 536870912 bytes exhausted... in wp-includes/plugin.php on line 179
但至少,我可以根据其转发器子字段过滤产品。
此问题已解决。在 ACF 自定义字段设置中,只需将转发器字段模式设置为 line 而不是 table。对我来说,它被设置为 table 并且我的加载时间很长并且崩溃了。
我有一个名为 "today" 的自定义字段(转发器)。其中,我有一个 "choose the calendar date" 子字段。
我在产品 (woocommerce) 上添加了 1、2、3 或更多日期。 return 日期类似于 dd/mm,我得到今天的日期与类似日期 (d/m).
进行比较问题是加载时间非常长,我没有得到任何结果...
我尝试过的:
$today = date('d/m');
$args = array(
'numberposts' => -1,
'post_type' => 'product',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'today_$_mdate',
'compare' => '=',
'value' => $today
)
)
);
$the_query = new WP_Query( $args );
if( $the_query->have_posts() ): ?>
<ul>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
</ul>
<?php else:
echo "No prods"; endif; ?>
<?php wp_reset_query();
转发器字段:today
子字段:date
为什么我不能 return 只有转发器字段子字段设置为 今天的日期? 它甚至没有 return 产品。
这是 WP 中的产品句柄:http://prntscr.com/kkobbb
这是自定义字段集:http://prntscr.com/kkobqo
$today returns `20/08`
新方法:
$today = date('d/m');
$args = array(
'post_type' => 'product',
'posts_per_page' => -1
);
$products = new WP_Query( $args );
if ( $products->have_posts() ) {
echo '<ul>';
while ( $products->have_posts() ) {
$products->the_post();
if( have_rows('today') ):
while ( have_rows('today') ) : the_row();
the_sub_field('mdate');
endwhile;
else :
// no rows found
endif;
}
echo "</ul>";
}
wp_reset_query();
加载时间仍然很长...还有消息 Fatal error: Allowed memory size of 536870912 bytes exhausted... in wp-includes/plugin.php on line 179
但至少,我可以根据其转发器子字段过滤产品。
此问题已解决。在 ACF 自定义字段设置中,只需将转发器字段模式设置为 line 而不是 table。对我来说,它被设置为 table 并且我的加载时间很长并且崩溃了。