Php Wordpress商业更新元数据
好的,我有一个附属系统。我正在Php Wordpress商业更新元数据,php,wordpress,Php,Wordpress,好的,我有一个附属系统。我正在嵌入一个cookie。我已经让代码工作,将一个新字段添加到签出页面,然后让它强制用户在新字段中输入cookie的#。这是工作代码 add_action('woocommerce_after_order_notes', 'affid_field'); function affid_field($checkout) { if(isset($_COOKIE['ap_ref_tracking'])) { echo '<div style
嵌入一个cookie
。我已经让代码工作,将一个新字段添加到签出页面
,然后让它强制用户在新字段中输入cookie的#
。这是工作代码
add_action('woocommerce_after_order_notes', 'affid_field');
function affid_field($checkout)
{
if(isset($_COOKIE['ap_ref_tracking'])) {
echo '<div style=" width: 335px;clear: both;
margin-bottom: 75px;" id="affid_field">';
woocommerce_form_field('affid_field', array(
'type' => 'text',
'class' => array(
'my-field-class form-row-wide'
) ,
'label' => __('Retype Number Shown Below') ,
'placeholder' => $_COOKIE['ap_ref_tracking'] ,
'required' => true,
) , $checkout->get_value('affid_field'));
echo '</div>';
}
}
add_action('woocommerce_checkout_process', 'customise_checkout_field_process');
function customise_checkout_field_process()
{
if(isset($_COOKIE['ap_ref_tracking'])) {
// if the field is set, if not then show an error message.
$field = $_POST['affid_field'];
$aff = $_COOKIE['ap_ref_tracking'];
if (!$field or $field != $aff)
wc_add_notice(__('Please re-enter '.$aff.' as shown on the Shipping Tab.') , 'error');
}
}
add_action('woocommerce_checkout_update_order_meta', 'customise_checkout_field_update_order_meta');
function customise_checkout_field_update_order_meta($order_id)
{
$affid_field = $_POST['affid_field'];
if ( ! empty( $affid_field ) ) {
update_post_meta( $order_id, '_affid_field', sanitize_text_field( $affid_field ) );
}
}
这根本不起作用,它使网站崩溃了。不知道我遗漏了什么,这应该有用吧?如果有人发现我的错误并帮我一把,我将不胜感激 您正在使用“)”而不是“}”来关闭if语句。。。
试试这个:-
add_action('woocommerce_checkout_update_order_meta', 'customise_checkout_field_update_order_meta');
function customise_checkout_field_update_order_meta($order_id)
{
if(isset($_COOKIE['ap_ref_tracking'])) {
$aff = $_COOKIE['ap_ref_tracking'];
update_post_meta( $order_id, '_affid_field', sanitize_text_field( $aff ) );
}
}
哈哈,谢谢有时候你需要新的眼睛来发现你的错误。
add_action('woocommerce_checkout_update_order_meta', 'customise_checkout_field_update_order_meta');
function customise_checkout_field_update_order_meta($order_id)
{
if(isset($_COOKIE['ap_ref_tracking'])) {
$aff = $_COOKIE['ap_ref_tracking'];
update_post_meta( $order_id, '_affid_field', sanitize_text_field( $aff ) );
}
}