作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为“project”的自定义帖子,它有一个名为“ponum”的 acf 字段。
当客户购买产品时,我想将客户的订单号添加到自定义帖子“项目”中用户帖子的“ponum”字段中。
获取订单号并创建帖子有效,但我不知道如何将此编号添加到感谢页面上的 acf 字段。
add_action( 'woocommerce_thankyou', 'create_post_on_order' );
function create_post_on_order($order_id)
{
global $wpdb;
//print('<pre>'.print_r( $wpdb, true ).'</pre>');
$order = wc_get_order($order_id);
if (!$order->get_id()) {
return;
}
$current_user = wp_get_current_user();
$current_user_id = $current_user->display_name;
$post_title = $order_id . ' - ' . $current_user_id;
// Check post already exit with our title or not
$query = $wpdb->prepare(
'SELECT ID FROM ' . $wpdb->posts . '
WHERE post_title = %s
AND post_type = \'project\'',
$post_title
);
$wpdb->query($query);
if (!$wpdb->num_rows) {
$post_id = wp_insert_post(
array(
'author' => $current_user_id,
'post_title' => $post_title,
'post_status' => 'publish',
'post_type' => 'project'
)
);
}
}
你能帮我吗?
最佳答案
获得 acf 的值(即“$order_id”)后,您可以使用以下代码更新 acf 字段:
根据您的新代码更新答案
add_action('woocommerce_thankyou', 'create_post_on_order');
function create_post_on_order($order_id)
{
$order = wc_get_order($order_id);
if (!$order->get_id()) {
return;
}
$current_user = get_userdata(get_current_user_id());
$current_user_name = $current_user->display_name;
$post_title = $order_id . ' - ' . $current_user_name;
$query = new WP_Query(array(
"author" => get_current_user_id(),
"post_type" => "project",
"title" => $post_title
));
if ($query->found_posts == 0) {
$post_id = wp_insert_post(
array(
'post_title' => $post_title,
'post_status' => 'publish',
'post_type' => 'project',
"meta_input" => array(
"ponum" => $order_id
)
)
);
// It should work without this, this is just a double check!
if (get_post_type($post_id) == "project") {
$ponum_key = 'ponum';
$ponum_field_value = get_field($ponum_key);
if (empty($ponum_field_value)) {
$ponum_field_value = $order_id;
update_field($ponum_key, $ponum_field_value);
}
}
}
}
关于php - 如何将 woocommerce 订单号更新为自定义 ACF 字段? (wordpress),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66926790/
我是一名优秀的程序员,十分优秀!