web-dev-qa-db-ja.com

ショートリンク構造という用語は何ですか?

私はこのURL構造で投稿にアクセスできることを知っています:mysite.com/?p=XここでXは投稿IDです。この投稿のパーマリンクが変更されても機能するので便利です。

しかし、あなたは今、あなたは今、あなたは今すぐあなたに似たような用語のための構造(カテゴリ、タグ...)がありますか?

私は試した

?t=term_id

しかし、うまくいきません。

ありがとう

1
Matthieu

クエリ文字列のキーが何であるかを参照している場合、それは作業している分類法に依存します。

  • カテゴリ:あなたは?cat=cat_idを探しています
  • タグ:あなたは?tag=tag_slugを探しています
  • カスタム分類:税のスラッグに依存しますが、?taxonomy_slug=item_slugのようになります

詳細については、 default WP query vars keys の定義を確認してください

編集

あなたのコメントによると、私もこれを共有すると思いました。 term_id(カスタム税の有無にかかわらず)で検索する必要がある場合は、カスタムクエリ文字列(クエリ変数)を追加し、メインクエリを変更する必要があります。

これを行う方法は次のとおりです

// Add your custom query var so WP can listen for that query string too
add_filter( 'query_vars', 'my_add_custom_query_vars' );
function my_add_custom_query_vars( $vars ){
  $vars[] = 'my_var';
  return $vars;
}


// Then modify the query to include all taxonomies, searching by tax ID
add_action( 'pre_get_posts', 'my_custom_query' );
function my_custom_query( $query ){
  $my_id = absint( get_query_var( 'my_var' ) ); // retrieve the var defined above

  $tax_query_args = array(
    array(
      'field'         => 'term_taxonomy_id',
      'terms'         => $my_id,
    ),
  );

  $query->set( 'post_type', 'any' );
  $query->set( 'tax_query', $tax_query_args );

}

私の例は、複数のterm_idをリッスンするように拡張できるため、?my_var=1,2,3などのクエリ文字列を使用して、term_id1 OR 2 OR 3または?my_var=1+2+3内の投稿を返すことができますterm_id1 AND 2 AND 3内の投稿。しかし、一般的な基本概念として、これがあなたのやり方です。

2
bynicolas