Zeigen Sie eine benutzerdefinierte Taxonomie auf Woocommerce-Einzelproduktseiten an

Lesezeit: 3 Minuten

Zeigen Sie eine benutzerdefinierte Taxonomie auf Woocommerce Einzelproduktseiten an
khunmax

Ich habe Woocommerce eine neue Taxonomie namens „Vendor“ mit dem folgenden Code hinzugefügt:

// hook into the init action and call taxonomy when it fires

add_action( 'init', 'create_vendor_taxonomy', 0 );

// create and register vendor taxonomy (hierarchical)

function create_vendor_taxonomy() {

    $labels = array(
        'name'              => _x( 'Vendors', 'taxonomy general name', 'textdomain' ),
        'singular_name'     => _x( 'Vendor', 'taxonomy singular name', 'textdomain' ),
        'search_items'      => __( 'Search Vendors', 'textdomain' ),
        'all_items'         => __( 'All Vendors', 'textdomain' ),
        'parent_item'       => __( 'Parent Vendor', 'textdomain' ),
        'parent_item_colon' => __( 'Parent Vendor:', 'textdomain' ),
        'edit_item'         => __( 'Edit Vendor', 'textdomain' ),
        'update_item'       => __( 'Update Vendor', 'textdomain' ),
        'add_new_item'      => __( 'Add New Vendor', 'textdomain' ),
        'new_item_name'     => __( 'New Vendor Name', 'textdomain' ),
        'menu_name'         => __( 'Vendors', 'textdomain' ),
    );

    $args = array(
        'hierarchical'      => true,
        'labels'            => $labels,
        'show_ui'           => true,
        'show_admin_column' => true,
        'query_var'         => true,
        'rewrite'           => array( 'slug' => 'vendor' ),
    );

    register_taxonomy( 'vendor', array( 'product' ), $args );

}

Ich möchte diese neue Taxonomie zwischen den Labels „Kategorie“ und „Tags“ einfügen, die auf einer einzelnen Produktseite erscheinen.

Ich habe ein untergeordnetes Thema und verstehe, dass ich einen Woocommerce-Ordner im untergeordneten Thema erstellen und diesem Ordner dann eine Kopie der Woo-Vorlagendateien hinzufügen muss, die ich bearbeiten muss.

Kann mir jemand helfen?

  1. Welche Woo-Vorlagendateien muss ich bearbeiten?
  2. Welchen Code muss ich diesen Dateien hinzufügen, um meine neue Taxonomie in die Produktseite einzufügen?

Vielen Dank im Voraus für jede Art von Hilfe.

AKTUALISIEREN:
Nach weiteren Recherchen scheint es, dass ich die Woo-Vorlagendateien nicht bearbeiten muss.

Es gibt einen Haken direkt unter dem Kategorie- und Tags-Meta auf der einzelnen Produktseite. Das wird die Arbeit erledigen.

So kann ich die Lieferanten-Taxonomiedetails wie folgt einfügen:

add_action( 'woocommerce_product_meta_end', 'insert_vendor_custom_action', 5 );

function insert_vendor_custom_action() {
    global $product;
    if [WHAT DO I NEED HERE?]
    echo [WHAT DO I NEED HERE?];
}

Danke an jeden, der mir weiterhelfen kann.

Zeigen Sie eine benutzerdefinierte Taxonomie auf Woocommerce Einzelproduktseiten an
LoicTheAztec

Um die Post-Begriffe aus benutzerdefinierten Taxonomie-Begriffen im Meta-Abschnitt der Woocommerce-Einzelproduktseite anzuzeigen, müssen Sie keine Woocommerce-Vorlage überschreiben.

Stattdessen können Sie den spezifischen dedizierten Action-Hook auf diese Weise verwenden:

add_action( 'woocommerce_product_meta_end', 'action_product_meta_end' );
function action_product_meta_end() {
    global $product;

    $taxonomy = 'vendor'; // <== Here set your custom taxonomy

    if( ! taxonomy_exists( string $taxonomy ) ) 
        return; // exit
    
    $term_ids = wp_get_post_terms( $product->get_id(), $taxonomy, array('fields' => 'ids') );

    if ( ! empty($term_ids) ) {
        echo get_the_term_list( $product->get_id(), 'vendor', '<span class="posted_in">' . _n( 'Vendor:', 'Vendors:', count( $term_ids ), 'woocommerce' ) . ' ', ', ', '</span>' );
    }
}

Der Code wird in die function.php-Datei Ihres aktiven untergeordneten Designs (oder aktiven Designs) eingefügt. Getestet und funktioniert.

  • Loic. Vielen Dank für Ihre freundliche Unterstützung. Es scheint, als hätte ich mein Update genau so gepostet, wie Sie Ihre Antwort gepostet haben. Ich gehe davon aus, dass ich die Span-Klasse “posted_in” in alles ändern kann, was ich gewählt habe, und dann diese Klasse verwenden kann, um das Label Vendor: mit CSS zu gestalten?

    – khunmax

    14. Juni 2018 um 19:14 Uhr


  • @khunmax Ja, Sie können versuchen, die HTML-Tag-Klassen nach Belieben zu ändern, oder Sie können ihnen zusätzliche hinzufügen, um sie zu gestalten … Dieser Antwortcode basiert auf der Vorlage single-product/meta.php und Quellcode dieser verwandten Funktionen zu.

    – LoicTheAztec

    14. Juni 2018 um 19:31 Uhr


  • Hey @LoicTheAztec könnte mir bitte dabei helfen? wordpress.stackexchange.com/questions/317734/…

    – leonardeveloper

    26. Oktober 2018 um 23:46 Uhr

  • @leonardeveloper Entschuldigung, ich antworte nicht in WP StackExchange, da Plugin-Fragen nicht zum Thema gehören. Ich beantworte nur einige ausgewählte Fragen mit Woocommerce-Tags in StackOverFlow

    – LoicTheAztec

    26. Oktober 2018 um 23:56 Uhr


  • Ich stimme für diese Antwort. Ich musste jedoch eine Überprüfung auf eine leere Array-Variable hinzufügen, die zurückgegeben wird, wenn keine Taxonomie-Datensätze vorhanden sind. .) } Danke!!

    – Marty McGee

    23. August 2020 um 11:43 Uhr


999240cookie-checkZeigen Sie eine benutzerdefinierte Taxonomie auf Woocommerce-Einzelproduktseiten an

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy