Categoría de WordPress, publicación de categoría y publicación única

4

Estoy tratando de hacer una página de restaurante por ciudades importantes.

Mi primera página muestra ciudades, al hacer clic en cualquier ciudad, mostraré todos los restaurantes y pulsando un solo restaurante, mostraré sus detalles. ¿Cuál es la estructura de mis páginas?

home (home page)
--restaurant (layout/template-restaurant.php)
----Eastern Cape (taxonomy-province.php)
------KFC (single-restaurant.php)

¿Lo estoy haciendo bien?

estoy usando template-sanha-restau.php como plantilla de página. taxonomía-provincia.php muestran provincias que tienen restaurantes. ahora estoy confundido, ¿qué jerarquía debo seguir para mostrar todos los restaurantes de una sola provincia?

add_action( 'init', 'restau' );
function restau(){
  register_post_type( 'sanha-restau',
    array(
      'labels' => array(
        'name' => __( 'Restaurants' ),
        'singular_name' => __( 'Restaurant' )
      ),
      'public' => true,
      'has_archive' => true,
      'menu_icon' => 'dashicons-media-text',
      'hierarchical'      => true,
      'show_ui'           => true,
      'show_admin_column' => true,
      'query_var'         => true,
      'rewrite' => array('slug' => 'restaurants',),
      'supports'=> array( 'title', 'editor', 'excerpt', 'author', 'thumbnail',),
    )
  );
}

add_action( 'init', 'create_restau_taxonomy' );

function create_restau_taxonomy() {
    register_taxonomy(
        'province',
        'sanha-restau',
        array(
            'label' => 'Province',
            'hierarchical' => true,
        )
    );
}

consejo amable

código para template-restaurant.php

/*
Template Name: Restaurants Template
The template for displaying show image in header.
*/
get_header();
$custom_terms = get_terms('province');
foreach($custom_terms as $custom_term) {
    wp_reset_query();
    $args = array(
        'post_type' => 'sanha-restau',
        'orderby' => 'title menu_order',
        'tax_query' => array(
            array(
                'taxonomy' => 'province',
                'field' => 'slug',
                'terms' => $custom_term->slug,
            ),
        ),
     );
     $loop = new WP_Query($args);
     if($loop->have_posts()) {
         echo '<div">';
            echo '<a href="' . esc_url( get_term_link( $custom_term, $custom_term->taxonomy ) ) . '">'. $custom_term->name . '</a><br>';
         echo '</div>';
     }
}
get_footer();
    
pregunta John Paul 20.06.2017 - 12:06

1 respuesta

3

Creo que estás en la dirección correcta. Puede mostrar todas las provincias con get_terms () y mostrar todos los límites en esa provincia específica usando loop-restraunt.php .

Una sugerencia más, es posible que también desee agregar "campos personalizados" en la matriz "support" de register_post_type. Esto habilitará los campos personalizados y será útil de muchas maneras.

    
respondido por el Sid 20.06.2017 - 14:37

Lea otras preguntas en las etiquetas