使用 add_action 在 woocommerce 中的属性标签中创建自定义字段
Create custom field into tag of attributes in woocommerce with add_action
我想在 woocommerce 的属性条款中创建一个自定义字段,使用 add_action(),我在网上搜索过,但我在这个地方找不到任何钩子。
这里是我要添加自定义字段的地方:
Woocommerce/属性/配置术语/编辑术语
您知道我可以在此处使用哪些挂钩来添加我的自定义字段吗?
在表单之后检查自定义字段的另一个挂钩是 post ?
这是我想要自定义字段的屏幕截图:
这里是我想要使用的代码(我只需要正确的钩子(钩子 1 和钩子 2):
function custom_field_categorie($term)
{
$term_id = $term->term_id;
$args = array
(
'id' => 'GRE_ID',
'label' => __('ID genre'),
'class' => '',
'desc_tip' => true,
'value' => get_term_meta($term_id, 'GRE_ID', true),
'custom_attributes' => array('readonly' => 'readonly'),
);
woocommerce_wp_text_input($args);
}
add_action('hook1', 'custom_field_categorie', 10, 1);
function custom_field_categorie_save($term_id)
{
if(!empty($_POST['GRE_ID']))
{
update_term_meta($term_id, 'GRE_ID', sanitize_text_field($_POST['GRE_ID']));
}
}
add_action('hook2', 'custom_field_categorie_save', 10, 1);
感谢您的帮助
给你。将其放入子主题的 function.php
文件中。测试和工作:
add_action( 'product_tag_edit_form_fields', 'product_tag_edit_form_fields_action' );
function product_tag_edit_form_fields_action( WP_Term $term ) {
$term_id = $term->term_id;
if ( empty( $term_id ) ) {
return;
}
$genre_id = get_term_meta( $term_id, 'GRE_ID', true );
?>
<tr class="form-field form-required term-genre-wrap">
<th scope="row"><label for="genre"><?= __( 'ID genre', 'your-lang-id' ) ?></label></th>
<td><input name="genre" id="genre" type="text" value="<?= $genre_id ?>" size="40" readonly/></td>
</tr>
<?php
}
由于您最初将 readonly
添加到您的自定义参数中只是为了显示该值,因此您无需保存此字段中的值,因为它永远无法在此表单中设置为空。
查看最终结果:
我想在 woocommerce 的属性条款中创建一个自定义字段,使用 add_action(),我在网上搜索过,但我在这个地方找不到任何钩子。
这里是我要添加自定义字段的地方:
Woocommerce/属性/配置术语/编辑术语
您知道我可以在此处使用哪些挂钩来添加我的自定义字段吗? 在表单之后检查自定义字段的另一个挂钩是 post ?
这是我想要自定义字段的屏幕截图:
这里是我想要使用的代码(我只需要正确的钩子(钩子 1 和钩子 2):
function custom_field_categorie($term)
{
$term_id = $term->term_id;
$args = array
(
'id' => 'GRE_ID',
'label' => __('ID genre'),
'class' => '',
'desc_tip' => true,
'value' => get_term_meta($term_id, 'GRE_ID', true),
'custom_attributes' => array('readonly' => 'readonly'),
);
woocommerce_wp_text_input($args);
}
add_action('hook1', 'custom_field_categorie', 10, 1);
function custom_field_categorie_save($term_id)
{
if(!empty($_POST['GRE_ID']))
{
update_term_meta($term_id, 'GRE_ID', sanitize_text_field($_POST['GRE_ID']));
}
}
add_action('hook2', 'custom_field_categorie_save', 10, 1);
感谢您的帮助
给你。将其放入子主题的 function.php
文件中。测试和工作:
add_action( 'product_tag_edit_form_fields', 'product_tag_edit_form_fields_action' );
function product_tag_edit_form_fields_action( WP_Term $term ) {
$term_id = $term->term_id;
if ( empty( $term_id ) ) {
return;
}
$genre_id = get_term_meta( $term_id, 'GRE_ID', true );
?>
<tr class="form-field form-required term-genre-wrap">
<th scope="row"><label for="genre"><?= __( 'ID genre', 'your-lang-id' ) ?></label></th>
<td><input name="genre" id="genre" type="text" value="<?= $genre_id ?>" size="40" readonly/></td>
</tr>
<?php
}
由于您最初将 readonly
添加到您的自定义参数中只是为了显示该值,因此您无需保存此字段中的值,因为它永远无法在此表单中设置为空。
查看最终结果: