Benutzerdefinierter Post-Typ (Jigoshop): unerwarteter Wert für $ category_id (über $ term-> term_taxonomy_id) auf dem Live-Server

Ich habe eine function zusammengehackt, um die Kategoriebeschreibung für einen benutzerdefinierten Jigoshop-Post-Typ zusammen mit dem zugehörigen Bild auszuspucken. (Das Bildfeld product_cat wird vom Jigoshop-Plugin implementiert).

Es funktioniert lokal, aber auf meinem Server wird das Bild nicht immer gefunden – die zurückgegebene Kategorie $ category_id scheint für einige (aber nicht alle) der Produkte um 1 zu sein.

function cyclelux_brand_info() { function get_the_category_bytax( $id = false, $tcat = 'category' ) { $categories = get_the_terms( $id, $tcat ); if ( ! $categories ) $categories = array(); $categories = array_values( $categories ); foreach ( array_keys( $categories ) as $key ) { _make_cat_compat( $categories[$key] ); } // Filter name is plural because we return alot of categories return apply_filters( 'get_the_categories', $categories ); } // TODO: tidy this up, won't work if product assigned to multiple categories $cat = get_the_category_bytax($post->ID,'product_cat'); // print_r(get_the_terms( $id, 'product_cat' )); // print_r($cat); foreach ( $cat as $term ) { $category_description = $term->description; $category_id = $term->term_taxonomy_id; } // echo "category_id = " . $category_id; // echo "
jigoshop_product_cat_image = " . jigoshop_product_cat_image($category_id)["image"]; // echo "
jigoshop_product_cat_thumb_id = " . jigoshop_product_cat_image($category_id)["thumb_id"]; echo "
"; echo "

" . $category_description . "


"; }

Solutions Collecting From Web of "Benutzerdefinierter Post-Typ (Jigoshop): unerwarteter Wert für $ category_id (über $ term-> term_taxonomy_id) auf dem Live-Server"

Für eine Kategorie-Zielseite, auf der nur jedes ‘product_cat’-Bild angezeigt wird, das mit einer separaten Seite für jede Kategorie verknüpft ist, habe ich folgende Vorlage beigefügt.

Es verwendet nicht $term->term_taxonomy_id , sondern $term->term_id . Ich bin mir nicht sicher, ob es helfen wird, aber sieh es dir an, um Unterschiede von dem zu unterscheiden, was du hast.

 < ?php /** * Product taxonomy template */ ?> < ?php global $wp_query; ?> < ?php get_header('shop'); ?> < ?php do_action('jigoshop_before_main_content'); ?> < ?php $term = get_term_by( 'slug', get_query_var( $wp_query->query_vars['taxonomy'] ), $wp_query->query_vars['taxonomy'] ); ?> 

< ?php echo wptexturize($term->name); ?>

< ?php echo wpautop(wptexturize($term->description)); ?> < ?php $args = array( 'orderby' => 'name', 'order' => 'ASC', 'child_of' => $term->term_id, ); $categories = get_terms( 'product_cat', $args ); ?> < ?php if ( sizeof( $categories ) ) : ?>
< ?php else : ?> < ?php jigoshop_get_template_part( 'loop', 'shop' ); ?> < ?php do_action('jigoshop_pagination'); ?> < ?php endif; ?> < ?php do_action('jigoshop_after_main_content'); ?> < ?php do_action('jigoshop_sidebar'); ?> < ?php get_footer('shop'); ?>