web-dev-qa-db-ja.com

分類法URLから投稿を取得する

URLを使用してカスタム分類法から投稿を取得して、表示されている分類法用語IDを特定する方法を教えてください。

カスタム分類法が同じではないため、URLを渡すときにfalseを返すget_category_by_pathを使用してカテゴリを介して投稿を取得しようとしました。分類法のためにこれをする同等の機能はありますか?私はGoogleとWordpressのコーデックスをスキャンしましたが何も見つかりませんでした。

どうもありがとう

1
Stefan Dunn

だから私はこれでいくつかの自由を取っている、私はいくつかのことを仮定している:

  1. あなたはその用語が属する分類法を知っています
  2. アーカイブリンクという用語があります

アーカイブリンクという用語があるとします。

$url = 'http://www.example.com/taxonomy/term/';

そのURLの最後の部分がスラッグという用語になることを私は知っています。スラグを分類法で使用してIDを取得することはできますが、最初にパーツを分割する必要があります。

$parts = explode('/', rtrim($url, '/')); // rtrim() to remove trailing slash

これはそれを以下のように見えるNice配列に分割します。

Array ( 
    [0] => http: 
    [1] => 
    [2] => www.example.com
    [3] => taxonomy 
    [4] => term 
)

Slugという用語がこの配列の最後の項目であることに注意してください。これは、インデックスを知らなくても後でアクセスできるようにするために重要です。

次に、 get_term_by() - View Codex という気の利いた関数を使うことができます。これは次のようになります。

$term = get_term_by('slug', $parts[count($parts)-1], 'tax_articles');

そして、あなたはそこに行きます、それは我々がURLで見つけたナメクジに基づいて用語を引き出すでしょう。

1
Howdy_McGee