Страница архива продуктов Woocommerce для пользовательской таксономии - PullRequest
1 голос
/ 21 марта 2020

Я зарегистрировал собственную таксономию для продуктов WooCommerce. Кроме того, я настроил шаблон страницы, чтобы вывести список всех записей пользовательской таксономии со ссылками на архив таксономии. Теперь у меня проблема, что ссылки на архив не работают. Я ожидал, что они будут работать аналогично категориям продуктов и страницам архивов тегов продуктов. Нужно ли мне настраивать файл архивной страницы или в моем коде чего-то не хватает? Спасибо за любую подсказку или помощь заранее!

// Register Custom Taxonomy
function ffos_custom_taxonomy_Brand()  {

$labels = array(
    'name'                       => 'Brands',
    'singular_name'              => 'Brand',
    'menu_name'                  => 'Brands',
    'all_brands'                  => 'All Brands',
    'parent_item'                => 'Parent Brand',
    'parent_item_colon'          => 'Parent Brand:',
    'new_item_name'              => 'New Brand Name',
    'add_new_item'               => 'Add New Brand',
    'edit_item'                  => 'Edit Brand',
    'update_item'                => 'Update Brand',
    'separate_items_with_commas' => 'Separate Brand with commas',
    'search_items'               => 'Search Brands',
    'add_or_remove_items'        => 'Add or remove Brands',
    'choose_from_most_used'      => 'Choose from the most used Brands',
);
$args = array(
    'labels'                     => $labels,
    'hierarchical'               => true,
    'public'                     => true,
    'show_ui'                    => true,
    'show_admin_column'          => true,
    'show_in_nav_menus'          => true,
);
register_taxonomy( 'product_brand', 'product', $args );

}

add_action( 'init', 'ffos_custom_taxonomy_Brand', 0 );
$args = array(
  'orderby'    => 'name',
  'order'      => ASC,
  'hide_empty' => true,
);

$product_brand = get_terms( 'product_brand', $args );

if ( $product_brand && ! is_wp_error( $product_brand ) ) {

  foreach ($product_brand as $brand) {

    $brand_logo = get_field('brand_logo', $brand);
    $brand_title = $brand->name;
    $brand_link = get_term_link( $brand );

    echo '<div class="small-12 medium-4 large-2 columns" >';
    echo '<a href="'.$brand_link.'">';
    echo '<div class="brand_logo" style="background-image:url('.$brand_logo.');" alt="'.$brand_title.'"></div>';
    echo '</a>';
    echo '</div>';
  }
}

1 Ответ

1 голос
/ 22 марта 2020

В WP admin go до Настройки> Постоянные ссылки и нажмите на кнопку «Сохранить изменения» . Правила переписывания должны были быть сброшены. Теперь это работает как шарм!

...