web-dev-qa-db-ja.com

ワードプレスでカテゴリ画像のカスタム投稿タイプ分類を取得する方法

私はカスタム投稿estate_propertyがあり、その分類法はproperty_categorypropert_actionです。分類法の各カテゴリの画像をアップロードするためにWPCustom Category Imageをインストールしました。アップロードされた画像を表示する方法。検索しても画像が表示されません。私のコードは

$taxonomy_name = 'property_category';
$asd=get_the_terms($post->ID, $taxonomy_name); 
var_dump($asd); 

それは何も返しません。

2
raxa

WPCustomカテゴリ画像プラグインの詳細ページから: https://wordpress.org/support/plugin/wpcustom-category-image

1st - Wp-Admin - >投稿(または投稿タイプ) - >カテゴリ(または分類)に移動して、カスタムカテゴリ画像オプションを表示します。

第2 ...単一のカテゴリの画像を表示するか、複数の画像をループで表示するかに応じて -

//シングル

echo do_shortcode('[wp_custom_image_category onlysrc="https://wordpress.org/plugins/wpcustom-category-image/false" size="full" term_id="123" alt="alt :)"]');

//ループ

foreach( get_categories(['hide_empty' => false]) as $category) {
    echo $category->name . '<br>';
    echo do_shortcode(sprintf('[wp_custom_image_category term_id="%s"]',$category->term_id));
}

さらに、ここにはカテゴリテンプレートの例があります -

https://Gist.github.com/eduardostuart/b88d6845a1afb78c296c

1
PiggyMacPigPig

Get_the_termsが何も返さない場合は、$ wp_errorが返されることを確認する必要があります。この関数は、成功した場合にタームオブジェクトの配列を返します。タームが存在しない場合または投稿が存在しない場合はfalse、失敗した場合はWP_Errorを返します(分類法が存在しない場合)。

このようにコードを修正するだけです。

$taxonomy_name = 'property_category';
$asd=get_the_terms($post->ID, $taxonomy_name); 

if(is_wp_error($asd){
    $error_string = $asd->get_error_message();
    var_dump($error_string); 
}
else{
    var_dump($asd); 
}

カテゴリ画像がterm_metaとして格納されている可能性が多く、get_term_meta()関数で取得できます。この関数はget_post_metaのように機能します。

上記と同じで、正しいメタを取得するためにキーを変更する必要がある場合、または最初のパラメータを設定してterm_idのすべてのメタの配列を取得する場合があります。

$taxonomy_name = 'property_category';
$asd=get_the_terms($post->ID, $taxonomy_name); 

if(is_wp_error($asd){
    $error_string = $asd->get_error_message();
    var_dump($error_string); 
}
else{
    var_dump($asd); 
    foreach($asd as $term){
        $term_id = $term->term_id;
        $term_image = get_term_meta($term_id, 'image_category', true); //false returns an array
        var_dump($term_image);
    }
}        
0
Benoti

私はWPCustom Category Imageプラグインに慣れていませんが、おそらく画像を取得するためにget_category_image($category_id)(またはそのようなもの)のような別の関数が必要です。

0