在<4.4

时间:2018-09-05 15:57:54

标签: wordpress metadata custom-taxonomy

我写了一些脚本,将自定义图像字段添加到我注册的自定义分类中。

问题是我现在试图获取术语元数据,因为自从wordpress 4.4版本引入add_term_meta函数以来,我无法使用此函数。

现在,我在网站上使用的是wordpress 4.2版,因为那里有很多自定义插件和脚本。

我必须使用哪个函数来获取4.2版上的元数据一词?

**编辑**

add_action( 'created_hr50_amenity', 'save_hr50_amenity_image', 10, 2 );

function save_hr50_amenity_image ( $term_id, $tt_id ) {
   if( isset( $_POST['hr50_amenity-image-id'] ) && '' !== $_POST['hr50_amenity-image-id'] ){
     $image = $_POST['hr50_amenity-image-id'];

     // ** add_term_meta ** WHAT CAN I USE INSTEAD OF THIS FUNCTION? **
     add_term_meta( $term_id, 'hr50_amenity-image-id', $image, true );

     // var_dump(get_term_meta( $term_id, 'hr50_amenity-image-id'));
   }
}

1 个答案:

答案 0 :(得分:3)

难道不能只复制add_term_meta并命名为compat_add_term_meta并与4.2 WP一起使用?

您具有此处的全部功能: https://developer.wordpress.org/reference/functions/add_term_meta/

您可以使用条件式:

if ( version_compare( $GLOBALS['wp_version'], '4.2', '<=' ) ) {
    compat_add_term_meta();
} else {
    add_term_meta();
}

这样在两种情况下都可以工作。

请记住,除了存在所有其他功能之外,您可能还必须添加wp_term_is_shared

也不是100%肯定,但请查看数据库架构的外观。某些表也可能丢失(术语元),因此也应创建这些表(可以通过$wpdb类tho来完成)。