📜  worpdress pods taxonomy 获取自定义字段 - PHP (1)

📅  最后修改于: 2023-12-03 15:21:14.938000             🧑  作者: Mango

获取WordPress自定义分类法字段的方法

在WordPress中,你可以通过自定义分类法来管理你的文章。当你需要为你的分类术语添加额外的元数据时,你可以使用自定义分类法字段(Custom Taxonomy Meta Fields)。

本文将介绍如何通过编写PHP代码,使用WordPress的Taxonomy类来获取自定义分类法字段。

步骤一:添加自定义分类法字段

首先,你需要为你的自定义分类法添加一个自定义字段。你可以使用WordPress自带的meta_box功能来添加自定义字段。下面是一个示例代码片段:

function add_my_custom_field() {
    add_meta_box(
        'my-custom-field',
        'My Custom Field',
        'render_my_custom_field',
        'my_taxonomy',
        'side'
    );
}

function render_my_custom_field( $term ) {
    $value = get_term_meta( $term->term_id, 'my_custom_field', true );
    ?>
    <label for="my-custom-field"><?php _e( 'My Custom Field' ); ?></label>
    <input type="text" name="my_custom_field" id="my-custom-field" value="<?php echo esc_attr( $value ); ?>" />
    <?php
}

function save_my_custom_field( $term_id ) {
    if ( isset( $_POST['my_custom_field'] ) ) {
        update_term_meta(
            $term_id,
            'my_custom_field',
            sanitize_text_field( $_POST['my_custom_field'] )
        );
    }
}

add_action( 'my_taxonomy_add_form_fields', 'add_my_custom_field' );
add_action( 'my_taxonomy_edit_form_fields', 'add_my_custom_field' );
add_action( 'edited_my_taxonomy', 'save_my_custom_field' );
add_action( 'create_my_taxonomy', 'save_my_custom_field' );

在这个示例中,我们添加了一个名为“my_custom_field”的字段。这将允许用户为每个“my_taxonomy”分类法术语添加一个自定义值。

步骤二:获取自定义分类法字段

一旦你的分类法中添加了自定义字段,你就可以使用WordPress的Taxonomy类来获取它们。下面是一个代码片段:

$terms = get_terms( array(
    'taxonomy' => 'my_taxonomy',
    'hide_empty' => false,
) );

foreach ( $terms as $term ) {
    $my_custom_field = get_term_meta( $term->term_id, 'my_custom_field', true );
}

在这个示例中,我们首先通过使用“get_terms”函数来获取“my_taxonomy”分类法中的所有术语。然后,我们可以使用“get_term_meta”函数来检索每个术语的自定义字段值。

结论

通过遵循上述步骤,你可以轻松地在WordPress中获取自定义分类法字段。这将允许你为你的文章添加更多的元数据,以进一步优化你的站点。