[英]After Wordpress Update Hook error
I have updated my Wordpress to Version 4.9.4 Since then I have an issue with a custom hook, which I created. 我已经将我的Wordpress更新到版本4.9.4,此后,我就创建了一个自定义钩子。 Basically it set products (Woocommerce) to stock manage yes and stock quantity 1. Then it set the default language to English (WPML Plugin).
基本上,它将产品(Woocommerce)设置为库存管理yes和库存数量1。然后将默认语言设置为英语(WPML Plugin)。 Before the update, the hook worked without any error.
在更新之前,该挂钩正常工作,没有任何错误。 I cannot find the bug in this code.
我在此代码中找不到错误。 Can you please support me?
你能支持我吗?
add_action('save_post', 'myWoo_savePost', 10, 2);
function myWoo_savePost($postID, $post) {
if (isset($post->post_type) && $post->post_type == 'product') {
update_post_meta($post->ID, '_manage_stock', 'yes');
update_post_meta($post->ID, '_stock', '1');
}
//start translation
$inserted_post_ids = $post->ID;
if ( $inserted_post_ids) {
// https://wpml.org/wpml-hook/wpml_element_type/
$wpml_element_type = apply_filters( 'wpml_element_type', 'post_product' );
// get the language info of the original post
// https://wpml.org/wpml-hook/wpml_element_language_details/
$get_language_args = array('element_id' => $inserted_post_ids, 'element_type' => 'post_product' );
$original_post_language_info = apply_filters( 'wpml_element_language_details', null, $get_language_args );
$set_language_args = array(
'element_id' => $inserted_post_ids,
'element_type' => $wpml_element_type,
'trid' => $original_post_language_info->trid,
'language_code' => 'en',
'source_language_code' => $original_post_language_info->language_code
);
do_action( 'wpml_set_element_language_details', $set_language_args );
}
//end translation
}
I fixed the bug. 我已修复该错误。 I just need to enclose the second if in the first if state.
如果处于第一个if状态,我只需要将第二个括起来。 So basically, move the closing bracket ("}") after update_post_meta($post->ID, '_stock', '1');
因此,基本上,将右括号(“}”)放在update_post_meta($ post-> ID,'_stock','1')之后; to the end.
到最后。 Here the final code:
这里是最终代码:
add_action('save_post', 'myWoo_savePost', 10, 2);
function myWoo_savePost($postID, $post) {
if (isset($post->post_type) && $post->post_type == 'product') {
update_post_meta($post->ID, '_manage_stock', 'yes');
update_post_meta($post->ID, '_stock', '1');
//start translation
$inserted_post_ids = $post->ID;
if ( $inserted_post_ids) {
// https://wpml.org/wpml-hook/wpml_element_type/
$wpml_element_type = apply_filters( 'wpml_element_type', 'post_product' );
// get the language info of the original post
// https://wpml.org/wpml-hook/wpml_element_language_details/
$get_language_args = array('element_id' => $inserted_post_ids, 'element_type' => 'post_product' );
$original_post_language_info = apply_filters( 'wpml_element_language_details', null, $get_language_args );
$set_language_args = array(
'element_id' => $inserted_post_ids,
'element_type' => $wpml_element_type,
'trid' => $original_post_language_info->trid,
'language_code' => 'en',
'source_language_code' => $original_post_language_info->language_code
);
do_action( 'wpml_set_element_language_details', $set_language_args );
}
//end translation
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.