it-swarm.com.de

Abrufen der Thumbnail-URL einer Taxonomie

So versuche ich es gerade:

$taxonomies = array( 
   'product_cat'
);
$args = array(
   'orderby'           => 'name', 
   'order'             => 'ASC',
   'hide_empty'        => false, 
   'exclude'           => array(), 
   'exclude_tree'      => array(), 
   'include'           => array(),
   'number'            => '', 
   'fields'            => 'all', 
   'slug'              => '',
   'parent'            => '',
   'hierarchical'      => true, 
   'child_of'          => 0,
   'childless'         => false,
   'get'               => '', 
   'name__like'        => '',
   'description__like' => '',
   'pad_counts'        => false, 
   'offset'            => '', 
   'search'            => '', 
   'cache_domain'      => 'core'
); 

$terms = get_terms($taxonomies, $args);
$print_terms = 0;
if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){
   foreach ( $terms as $term ) {
     $term_img = wp_get_attachment_url( get_post_thumbnail_id($term->term_id) );
     var_dump($term_img); /* Allways Bool(false) */

Die Frage ist also,

Weißt du was ich falsch mache?

4

Die Bilder wurden von woocommerce festgelegt,

Falls jemand etwas braucht, habe ich es so gemacht

$thumb_id = get_woocommerce_term_meta( $term->term_id, 'thumbnail_id', true );
$term_img = wp_get_attachment_url(  $thumb_id );
7

Taxonomien haben standardmäßig keine Miniaturbilder. Ohne zu wissen, wie diese eingestellt sind, kann ich nicht genau sagen, wie die Thumbnails abgerufen werden sollen, aber was mache ich falsch? get_post_thumbnail_id akzeptiert einepostID oder eine fehlende, die den aktuellen Beitrag in der Schleife voraussetzt. Sie übergeben ihm einen term_id, der nicht funktionieren wird. Sie können das in der Quelle sehen:

32  function get_post_thumbnail_id( $post_id = null ) {
33          $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
34          return get_post_meta( $post_id, '_thumbnail_id', true );
35  }

Ich nehme an, wenn der term_id mit einer Beitrags-ID übereinstimmt, erhalten Sie etwas, aber es wird nicht das sein, was Sie wollen oder erwarten.

2
s_ha_dum

Woocommerce ist nicht erforderlich, um ein Kategoriebild und seine URL abzurufen.

$categories = get_categories();

foreach($categories as $cat) {

    $image_id = get_term_meta( $cat->term_id, 'thumbnail_id', true );
    $post_thumbnail_img = wp_get_attachment_image_src( $image_id, 'thumbnail' );

    echo '<img src="' . $post_thumbnail_img[0] . '" alt="' . $cat->name . '" />';

}

$ post_thumbnail_img ist ein Array mit dem Schlüssel 0 gleich der URL, 1 = Breite und 2 = Höhe.

Sie können auch eine der folgenden Optionen anstelle der Miniaturansicht verwenden (vorgestellte, mittlere, große oder jede andere benutzerdefinierte Bildgröße aus Ihrem Thema). 'Thumbnail_id' muss jedoch unverändert bleiben.

Sie können auch Bildmetadaten wie "alt", "title" und mehr mit einer benutzerdefinierten Funktion abrufen und diese erweitern.

Das Obige setzt voraus, dass Sie wissen, wie Sie Argumente an get_categories in einer Schleife übergeben. Wenn nicht, sehen Sie sich get_categories on WP für weitere Details an.

0
Dario Zadro