使用 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 添加到您的自定义参数中只是为了显示该值,因此您无需保存此字段中的值,因为它永远无法在此表单中设置为空。

查看最终结果: