質問編集履歴

1 タグを追加しました!

marcos_grohl

marcos_grohl score 14

2018/12/05 12:32  投稿

カスタム投稿ポストのタームに所属する全てのスラッグを抽出したい
いつもお世話になってます。
カスタム投稿ポストのターム(news_tag)に含まれる
全てのスラッグを対象に最新記事一覧を表示させたいのですが、
個別のスラッグやarrayでの複数スラッグは対応出来たのですが、
スラッグが全部で100以上あるので、タームを指定して
全てのスラッグを抽出できるような設定に変更したいです。
以下は現在設定中の表示用タグで、動作確認はOKです。
```php
<?php
$args = array(
'post_type' => 'news',
'post_parent' => 0,
'tax_query' => array(
array(
'taxonomy' => 'news_tag',
'field' => 'slug',
'terms' => 'ここを個別でなく、ターム(news_tag)全体を対象にしたい',
),
),
"posts_per_page" => 3
);
$the_query = new WP_Query($args); if($the_query->have_posts()):
?>
<?php while ($the_query->have_posts()): $the_query->the_post(); ?>
```
また、function.phpに記載している内容は
以下になります。
```php
/*news*/
add_action( 'init', 'news' );
function news() {
global $current_user;
get_currentuserinfo();
if ($current_user->ID == "1" ) {
$flag = true;
}else{
$flag = false;
}
register_post_type( 'news',
array(
'labels' => array(
'name' => __( 'ブログ' ),
'singular_name' => __( 'news' )
),
'public' => true,
'show_ui' => $flag,
'supports' => array( 'title', 'editor', 'comments', 'thumbnail' ),
'menu_position' =>3,
'has_archive' => true
)
);
//カスタムタクソノミー、タグタイプ
register_taxonomy(
'news_tag',
'news',
array(
'hierarchical' => false,
'update_count_callback' => '_update_post_term_count',
'label' => 'ブログのタグ',
'singular_label' => 'ブログのタグ',
'public' => true,
'show_ui' => true
)
);
}
function get_current_term(){
$id;
$tax_slug;
if(is_category()){
$tax_slug = "category";
$id = get_query_var('cat');
}else if(is_tag()){
$tax_slug = "post_tag";
$id = get_query_var('tag_id');
}else if(is_tax()){
$tax_slug = get_query_var('taxonomy');
$term_slug = get_query_var('term');
$term = get_term_by("slug",$term_slug,$tax_slug);
$id = $term->term_id;
}
return get_term($id,$tax_slug);
}
```
ぜひお力添えを頂けますと幸いです。
  • PHP

    30596 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    11936 questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る