有时我们在定制一些比较特别的需求的时候,需要获取分类的ID,以满足特别的需要,下面列举一下获取分类ID的方法。
如果是分类页面,系统默认有个变量$cat,就是分类的ID,但是只能在分类页面使用
在page页面使用
主题中使用自定义字段显示
直接循环使用
get_the_category的返回值为二维数组
cat_ID – 分类 ID ,
cat_name – 分类名 ,
category_nicename – 别名 ,
category_description – 分类描述 ,
category_parent – 父分类 ID ,
category_count – 包含文章数量。
1、 在commentsphp评论表单中添加自己想要的字段,如:
<p>
<input type="text" name="tel" id="tel" size="22" tabindex="4" />
<label for="tel">电话</label>
</p>
tabindex 这个属性按照从小到大排,为什么要这样?你可以自己试试…
2、如果评论表单是使用系统自带的,那么请用以下方法添加表单字段,如果不是,请略过
add_filter('comment_form_default_fields','comment_form_add_ewai');
function comment_form_add_ewai($fields) {
$label1 = __( '国家/地区' );
$label2 = __( 'Skype账号' );
$label3 = __( '电话' );
$label4 = __( '传真' );
$label5 = __( '地址' );
$value1 = isset($_POST['guojia']) $_POST['guojia'] : false;
$value2 = isset($_POST['skype']) $_POST['skype'] : false;
$value3 = isset($_POST['tel']) $_POST['tel'] : false;
$value4 = isset($_POST['fax']) $_POST['fax'] : false;
$value5 = isset($_POST['address']) $_POST['address'] : false;
$fields['guojia'] =<<<HTML
<p>
<label for="guojia">{$label1}</label>
<input id="guojia" name="guojia" type="text" value="{$value1}" size="30" />
</p>
HTML;
return $fields;
}
3、 接收表单字段并写入数据库
在主题目录的 functionsphp添加以下代码
add_action('wp_insert_comment','wp_insert_tel',10,2);
function wp_insert_tel($comment_ID,$commmentdata) {
$tel = isset($_POST['tel']) $_POST['tel'] : false;
//_tel 是存储在数据库里的字段名字,取出数据的就会用到
update_comment_meta($comment_ID,'_tel',$tel);
}
这两步就可以将数据写入数据库了,不信你试试看
add_action()参数中的10和2分别表示该函数执行的优先级是10(默认值,值越小优先级越高),该函数接受2个参数。
4、在后台显示额外字段
前面两步只是接收和写入到数据库,那么要怎么在后台评论列表中显示呢?将以下代码复制到主题目录的functionsphp 中:
add_filter( 'manage_edit-comments_columns', 'my_comments_columns' );
add_action( 'manage_comments_custom_column', 'output_my_comments_columns', 10, 2 );
function my_comments_columns( $columns ){
$columns[ '_tel' ] = __( '电话' ); //电话是代表列的名字
return $columns;
}
function output_my_comments_columns( $column_name, $comment_id ){
switch( $column_name ) {
case "_tel" :
echo get_comment_meta( $comment_id, '_tel', true );
break;
}
如果要在前台的留言列表中调用,就用以下代码,_tel就是你在数据库中存储的字段名字
<php
$tel = get_comment_meta($comment->comment_ID,'_tel',true);
if( !empty($tel)){
echo "电话"$tel;
}
>
5、 大功告成,看看后台的评论列表,是不是多了一列电话,那样的话就没错了。
6、如果要移除某一个自带的表单字段,可以使用以下代码
function tel_filtered($fields){
if(isset($fields['tel']))
unset($fields['tel']);
return $fields;
}
add_filter('comment_form_default_fields', 'tel')
第一步:获取分类6下的所有posts
$args = array('category' => 6,
'numberposts' => -1
);
$audio_posts = get_posts( $args );
第二步:遍历$audio_posts获取对应附件
foreach( $audio_posts as $post ) {$audios = get_attached_media( 'audio', $post->ID );
if ( empty( $audios ) )
continue;
$audio = reset( $audios );
$src = wp_get_attachment_url( $audio->ID );
if ( empty( $src ) )
continue;
printf( '<a href="%1$s" title="%2$s">%3$s</a>', $src, $audio->post_title, $audio->post_title );
}
思路如此,具体代码你再根据实际使用完善完善!
function get_post_category_id($post_ID){
global $wpdb;
$sql="SELECT `term_taxonomy_id` FROM $wpdb->term_relationships WHERE `object_id`='"$post_ID"';";
$cat_id=$wpdb->get_results($sql);
foreach($cat_id as $catId){
$output=$catId->term_taxonomy_id;
}
return($output);
}
foreach((get_the_category()) as $category) {
echo $category->cat_name ' ';
}
以上就是关于wordpress获取当前分类的ID全部的内容,包括:wordpress获取当前分类的ID、wordpress根据分类别名获取分类链接及描述并循环输出,别名为多个变量值、Wordpress循环输出某一分类目录下的文章的附件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)