关于我之前的问题WP insert post PHP function and Custom Fields
我们有一个正在工作的insert post函数,它还可以在不知道ID的情况下发送自定义字段。有关答案,请参阅前面的问题。我们现在要做的是动态加载一些自定义字段。页面顶部的会话已加载来自称为服务的post类型的所有信息。这是一段代码,然后将其拾取并插入到新帖子中。
<?php
$my_post = array(
\'post_title\' => $_SESSION[\'booking-form-title\'],
\'post_date\' => $_SESSION[\'cal_startdate\'],
\'post_content\' => \'This is my post.\',
\'post_status\' => \'publish\',
\'post_type\' => \'booking\',
);
$the_post_id = wp_insert_post( $my_post );
__update_post_meta( $the_post_id, \'duration\', $_SESSION[\'booking-form-actual-duration\'] );
__update_post_meta( $the_post_id, \'picture\', $_SESSION[\'booking-form-picture\'] );
__update_post_meta( $the_post_id, \'totalprice\', $_SESSION[\'booking-form-total-price\'] );
__update_post_meta( $the_post_id, \'activityduration\', $_SESSION[\'booking-form-total-duration\'] );
__update_post_meta( $the_post_id, \'totaldives\', $_SESSION[\'booking-form-total-dives\'] );
query_posts(\'post_type=services\'); while (have_posts()) : the_post();
__update_post_meta( $the_post_id, \'producttitle\'.get_the_ID(), $_SESSION[\'products-form-title\'.get_the_ID()]);
__update_post_meta( $the_post_id, \'productprice\'.get_the_ID(), $_SESSION[\'products-form-price\'.get_the_ID()]);
__update_post_meta( $the_post_id, \'productduration\'.get_the_ID(), $_SESSION[\'products-form-duration\'.get_the_ID()]);
__update_post_meta( $the_post_id, \'productdives\'.get_the_ID(), $_SESSION[\'products-form-dives\'.get_the_ID()]);
__update_post_meta( $the_post_id, \'productquantity\'.get_the_ID(), $_SESSION[\'products-form-quantity\'.get_the_ID()]);
endwhile; ?>
请注意查询帖子和使用get\\u the\\u ID()进行区分。要加载数据的页面顶部的会话也发生了同样的情况。
然后接收它的代码如下所示。请注意,IF语句的原因是仅显示具有数量的项目的数据。页面上的其他php代码检索其他自定义帖子。
<?php query_posts(\'post_type=services\'); while (have_posts()) : the_post();
$SPtitle = get_post_meta($post->ID, \'producttitle\'.get_the_ID(), true);
$SPprice = get_post_meta($post->ID, \'productprice\'.get_the_ID(), true);
$SPduration = get_post_meta($post->ID, \'productduration\'.get_the_ID(), true);
$SPdives = get_post_meta($post->ID, \'productdives\'.get_the_ID(), true);
$SPquantity = get_post_meta($post->ID, \'productquantity\'.get_the_ID(), true);
if ( $SPquantity ) {
echo \'<table width="478" border="0" cellspacing="5" cellpadding="0">
<tr>
<td width="50"><div style="border:1px solid #FFF;">\',the_post_thumbnail(array(50, 50, true)),\'</div></td>
<td width="399" style="padding-left:14px;"><div class="textstandard_white"><span style="display:none;" id="QNTCON\',get_the_ID(),\'">\',$SPquantity,\'</span> \', $SPtitle,\'</div><div class="textstandard_white" style="font-size:10px; color:#EEE">\',the_excerpt(),\'<input name="product_price_PRI_\',get_the_ID(),\'" id="product_price_PRI_\',get_the_ID(),\'" type="hidden" value="\',$SPprice,\'">
<input name="product_price_total_PRI_\',get_the_ID(),\'" id="product_price_total_PRI_\',get_the_ID(),\'" type="hidden" value="">
<input name="product_duration_PRI_\',get_the_ID(),\'" id="product_duration_PRI_\',get_the_ID(),\'" type="hidden" value="\',$SPduration,\'">
<input name="product_duration_total_PRI_\',get_the_ID(),\'" id="product_duration_total_PRI_\',get_the_ID(),\'" type="hidden" value="">
<input name="product_dives_PRI_\',get_the_ID(),\'" id="product_dives_PRI_\',get_the_ID(),\'" type="hidden" value="\',$SPdives,\'">
<input name="product_dives_total_PRI_\',get_the_ID(),\'" id="product_dives_total_PRI_\',get_the_ID(),\'" type="hidden" value="">
<input name="product_quantity_PRI_\',get_the_ID(),\'" id="product_quantity_PRI_\',get_the_ID(),\'" type="hidden" title="" value="\',$SPquantity,\'"/></div></td>
</tr>
</table>\';
}
else {
echo \'\';
};?>
<?php endwhile; ?>
对,所以我希望这能解释我想做什么。我要指出的是,除了查询区服务之外,它都可以正常工作。因此,我为您提供了这段代码。有人知道为什么那个钻头不起作用吗。
好极了,谢谢。