web-dev-qa-db-ja.com

カスタム投稿のリストにある、wp-adminの編集/フィルタリンクを含む分類用語

カスタムの用語を表示するには、 get_the_term_listmanage_posts_custom_column を使用しますカスタム投稿のリストの分類、WordPress管理者。

add_action( 'manage_mycustompost_posts_custom_column' , 'custom_mycustompost_column', 10, 2 );

function custom_mycustompost_column( $column, $post_id ) {
  switch ( $column ) {
    case 'category_names':
        echo get_the_term_list( $post_id , 'mycustomcategory' , '' , ',' , '' );
        break;
  }
}

ただし、各分類用語について、その用語の投稿を表示するパブリックページへのリンクを取得します。 http://www.myblog.com/mycustomcategory/test/

WordPressの管理画面でリストを絞り込むリンクを取得したいのですが。私はのようなリンクがほしいと思います: http://www.myblog.com/wp-admin/edit.php?post_type=post&category_name=news

デフォルトのWordPress投稿のタグまたはカテゴリ用に、投稿リストに表示されるリンクの種類。

それをするWordPress機能はありますか?

2
Alex Vang

あなたが使うことができる関数の中にそれをラップしていません、しかし、以下はうまくいくでしょう:

$taxonomy = 'my-taxonomy';
$taxonomy_object = get_taxonomy( $taxonomy );
$object_type = get_post_type($post_id);

if ( $terms = get_the_terms( $post_id, $taxonomy ) ) {
      $out = array();
      foreach ( $terms as $t ) {
           $posts_in_term_qv = array();
           $posts_in_term_qv['post_type'] = $object_type;

           if ( $taxonomy_object->query_var ) {
                 $posts_in_term_qv[ $taxonomy_object->query_var ] = $t->slug;
           } else {
                 $posts_in_term_qv['taxonomy'] = $taxonomy;
                 $posts_in_term_qv['term'] = $t->slug;
           }

           $out[] = sprintf( '<a href="%s">%s</a>',
                    esc_url( add_query_arg( $posts_in_term_qv, 'edit.php' ) ),
                    esc_html( sanitize_term_field( 'name', $t->name, $t->term_id, $taxonomy, 'display' ) )
                 );
        }

      /* translators: used between list items, there is a space after the comma */
       echo join( __( ', ' ), $out );
};
2
Stephen Harris