it-swarm.com.de

Anzeigen der hierarchischen benutzerdefinierten Taxonomie

Ich habe ein Immobilienmotiv gekauft. Ich benötige eine untergeordnete Kategorie für die benutzerdefinierte Taxonomie der Community, also setze ich Hierarchical auf True. Aber als ich versuchte, es auf meiner Seite anzuzeigen, steht die Community zuerst vor der Sub-Community. Folgendes wird angezeigt:

"Business Bay, Business Tower, Dubai, Vereinigte Arabische Emirate"

anstatt

"Business Tower, Business Bay, Dubai, Vereinigte Arabische Emirate"

Business Tower ist das Kind, Business Bay ist das Elternteil. Es sollte zuerst Kind sein, bevor die Eltern richtig?

kannst du mir bitte helfen.

here is the screenshot when i display the community

Hier ist der Code:

    $communitylabels = array(
            'name' => __( 'Community', 'contempo' ),
            'singular_name' => __( 'Community', 'contempo' ),
            'search_items' =>  __( 'Search Communities', 'contempo' ),
            'popular_items' => __( 'Popular Communities', 'contempo' ),
            'all_items' => __( 'All Communities', 'contempo' ),
            'parent_item' => __( 'Parent', 'contempo' ),
            'parent_item_colon' => __( 'Parent', 'contempo' ),
            'edit_item' => __( 'Edit Community', 'contempo' ),
            'update_item' => __( 'Update Community', 'contempo' ),
            'add_new_item' => __( 'Add New Community', 'contempo' ),
            'new_item_name' => __( 'New Community', 'contempo' ),
            'separate_items_with_commas' => __( 'Separate Communities with commas', 'contempo' ),
            'add_or_remove_items' => __( 'Add or remove Communities', 'contempo' ),
            'choose_from_most_used' => __( 'Choose from the most used Communities', 'contempo' )
        );
        register_taxonomy( 'community', 'listings', array(
            'hierarchical' => true,
            'labels' => $communitylabels,
            'show_ui' => true,
            'query_var' => true,
            'rewrite' => array( 'slug' => 'community' ),
        ));
    }

    if ( ! function_exists( 'community' ) ) {
        function community() {
            global $post;
            global $wp_query;
            $terms_as_text = strip_tags( get_the_term_list( $wp_query->post->ID, 'community', '', ', ', '' ) );
            echo esc_html($terms_as_text);
        }
    }

Hier ist der Code, wenn ich die benutzerdefinierte Taxonomie aufrufe:

      // Title
        case 'listing_title' :

           echo '<h2 class="marT5 marB0">';
                ct_listing_title();
            echo '</h2>';

        break;

        // location
        case 'listing_city_state_Zip' :

            echo '<p class="location marB0">';  
            community();
            echo ', ';     
                city();
                echo '';
                country();

            echo '</p>';
1
Ann Margarette

Wenn Sie Ihre Begriffe nach Hierarchie sortieren möchten, können Sie stattdessen wp_get_post_terms() verwenden.

Die Verwendung ähnelt der von get_the_term_list(). Schauen Sie sich dieses einfache Beispiel an:

wp_get_post_terms( $post->ID, $taxonomy->name, array( 'orderby' => 'term_id' ) );

Ich denke, wir können davon ausgehen, dass die Eltern meist eine niedrigere ID ihrer Kinder haben (wenn nicht manuell geändert), also wird dies den Trick tun. Aber wenn der Beitrag mehreren Eltern gehört, dann wird dies wieder brechen.

Weitere Informationen zu dieser Funktion finden Sie auf der Seite für den relativen Codex .

0
Jack Johansson