在3.5版本之前,wordpress有一个链接管理工具挺方便管理友情链接的,但是在3.5版本之后就取消了这个功能,这好像有些不大方便了,所以我要重新激活(wp并没有把这个功能去掉,只是默认没有激活罢了)。
代码只有一行如下:
add_filter( 'pre_option_link_manager_enabled', '__return_true' );
wordpress开发中要根据post id取回meta的值是很方便的,可以使用wordpress的内置的函数, get_post_meta, get_postmeta等等, 但是要根据wordpress的post id 和meta的key取回这个meta的id,那就可以使用下面的函数实现:
function get_mid_by_key( $post_id, $meta_key ) { global $wpdb; $mid = $wpdb->get_var( $wpdb->prepare("SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s", $post_id, $meta_key) ); if( $mid != '' ) return (int)$mid; return false; }
上面 的函数只是返回了单一的meta的id, 但是如果有很多个meta具有相同的key的时候,那就要对函数进行一些修改了,我把函数修改成下面的样子,就可以可以返回一个meta id的数组了。
function get_mids_by_key( $post_id, $meta_key ) { global $wpdb; $mids_obj = $wpdb->get_results( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s", $post_id, $meta_key)); $mids = array(); foreach ($mids_obj as $mid) { $mids[] = $mid->meta_id; } if(empty($mids)){ return false; }else{ return $mids; } }
评论2