4

解決策を見つけるのに苦労しています。誰かがこれを取得する方法を知っていますか:

複数のカテゴリに 1 つの WordPress 投稿がありますが、パーマリンク カテゴリは 1 つだけです。そのパーマリンク カテゴリの ID のみを取得する必要があります (カスタム クエリを介してパーマリンク カテゴリからいくつかの最新の投稿を取得できるように、この情報が必要です)。

URL は次のようになりますhttp://domain.com/カテゴリ名/post-title

その「カテゴリ名」IDが必要です。

4

6 に答える 6

7

使用するのに適したものは次のとおりです。

<?php $page_object = get_queried_object(); ?>
<h1><?php echo $page_object->cat_name; ?></h1>
于 2015-02-03T15:41:33.993 に答える
2

私の答えは次のとおりです。

function get_category_by_url($url) {
    foreach( (get_the_category()) as $category) {
        if ( get_category_link($category->cat_ID) == $url )
            return $category->slug;
    }
    return false;
}
于 2013-05-14T15:55:20.057 に答える
0

If the post belongs to many categories, what if you're viewing the post from a second category. In that case retrieving the category ID of the permalink category may not help, since you would need the related posts of the current category in action.

For that, you can get the ID by passing the category name as follows:

<?php get_cat_ID($cat_name)?>

Does this help?

于 2012-10-09T11:17:36.710 に答える
0

Wordpress は最も古いカテゴリをパーマリンク カテゴリとして選択します。プラグインを使用しない限り、その動作を変更する方法はありません。プラグインを使用する場合は、プラグイン設定からカテゴリ ID を取得します。

この投稿のすべてのカテゴリを一覧表示し、最も関連性の高いカテゴリを選択できます。The Loop 内で次のコードを使用します。

foreach((get_the_category()) as $category) 
{
   if ( $category->cat_ID == 1000 )
      ; // DO SOMETHING
}
于 2012-10-09T11:22:16.367 に答える
0
$category = end(get_the_category());
$current = $category->cat_ID;
echo 'id='.$current . ' - name=' . $category->cat_name;
于 2015-03-24T01:25:08.353 に答える