我想展示属于特定菜单的特定菜肴。
我已经创建了一个“菜肴”自定义帖子。我已经创建了一个自定义的“菜单”分类法,有3种菜单类型(“高级”、“子菜单”、“概念”),如何在循环中创建条件语法来搜索该菜单类型并循环那些属于该菜单类型的帖子?
自定义帖子
function custom_post_type_food_dish()
{
$labels = array(
\'name\' => _x(\'Dishes\', \'Post Type General Name\', \'text_domain\'),
\'singular_name\' => _x(\'Dish\', \'Post Type Singular Name\', \'text_domain\'),
\'menu_name\' => __(\'Dishes\', \'text_domain\'),
\'name_admin_bar\' => __(\'Dish\', \'text_domain\'),
\'archives\' => __(\'Item Archives\', \'text_domain\'),
\'attributes\' => __(\'Item Attributes\', \'text_domain\'),
\'parent_item_colon\' => __(\'Parent Item:\', \'text_domain\'),
\'all_items\' => __(\'All Items\', \'text_domain\'),
\'add_new_item\' => __(\'Add New Item\', \'text_domain\'),
\'add_new\' => __(\'Add New\', \'text_domain\'),
\'new_item\' => __(\'New Item\', \'text_domain\'),
\'edit_item\' => __(\'Edit Item\', \'text_domain\'),
\'update_item\' => __(\'Update Item\', \'text_domain\'),
\'view_item\' => __(\'View Item\', \'text_domain\'),
\'view_items\' => __(\'View Items\', \'text_domain\'),
\'search_items\' => __(\'Search Item\', \'text_domain\'),
\'not_found\' => __(\'Not found\', \'text_domain\'),
\'not_found_in_trash\' => __(\'Not found in Trash\', \'text_domain\'),
\'featured_image\' => __(\'Featured Image\', \'text_domain\'),
\'set_featured_image\' => __(\'Set featured image\', \'text_domain\'),
\'remove_featured_image\' => __(\'Remove featured image\', \'text_domain\'),
\'use_featured_image\' => __(\'Use as featured image\', \'text_domain\'),
\'insert_into_item\' => __(\'Insert into item\', \'text_domain\'),
\'uploaded_to_this_item\' => __(\'Uploaded to this item\', \'text_domain\'),
\'items_list\' => __(\'Items list\', \'text_domain\'),
\'items_list_navigation\' => __(\'Items list navigation\', \'text_domain\'),
\'filter_items_list\' => __(\'Filter items list\', \'text_domain\'),
);
$args = array(
\'label\' => __(\'Dish\', \'text_domain\'),
\'description\' => __(\'food_dish is the dishes that go into the menu\', \'text_domain\'),
\'labels\' => $labels,
\'supports\' => array(\'title\', \'editor\', \'excerpt\', \'thumbnail\', \'comments\', \'post-formats\',),
//\'taxonomies\' => array( \'category\', \'post_tag\' ),
\'hierarchical\' => false,
\'public\' => true,
\'show_ui\' => true,
\'show_in_menu\' => true,
\'menu_position\' => 5,
\'show_in_admin_bar\' => true,
\'show_in_nav_menus\' => true,
\'can_export\' => true,
\'has_archive\' => true,
\'exclude_from_search\' => false,
\'publicly_queryable\' => true,
\'capability_type\' => \'page\',
\'menu_icon\' => \'dashicons-image-filter\',
);
register_post_type(\'food_dish\', $args);
}
add_action(\'init\', \'custom_post_type_food_dish\', 0);
自定义分类法
function add_custom_taxonomies()
{
// Add new "Menus" taxonomy to Posts
register_taxonomy(\'menu\', \'food_dish\', array(
// Hierarchical taxonomy (like categories)
\'hierarchical\' => true,
// This array of options controls the labels displayed in the WordPress Admin UI
\'labels\' => array(
\'name\' => _x(\'Menus\', \'taxonomy general name\'),
\'singular_name\' => _x(\'Menu\', \'taxonomy singular name\'),
\'search_items\' => __(\'Search Menus\'),
\'all_items\' => __(\'All Menus\'),
\'parent_item\' => __(\'Parent Menu\'),
\'parent_item_colon\' => __(\'Parent Menu:\'),
\'edit_item\' => __(\'Edit Menu\'),
\'update_item\' => __(\'Update Menu\'),
\'add_new_item\' => __(\'Add New Menu\'),
\'new_item_name\' => __(\'New Menu Name\'),
\'menu_name\' => __(\'Menus\'),
),
// Control the slugs used for this taxonomy
\'rewrite\' => array(
\'slug\' => \'menus\', // This controls the base slug that will display before each term
\'with_front\' => false, // Don\'t display the category base before "/locations/"
\'hierarchical\' => true, // This will allow URL\'s like "/locations/boston/cambridge/"
),
));
}
add_action(\'init\', \'add_custom_taxonomies\', 0);
模板中的HTML/PHP部分:
<div class="container-fluid">
<?php
$args = array(
\'post_type\' => \'food_dish\',
\'taxonomy_name\' => \'menu\'
);
$loop = new WP_Query($args);
while ($loop->have_posts()) : $loop->the_post();
//prePrint($loop);
if ( in_category( \'premium\' ) ) {
?>
<a href="<?php the_permalink() ?>">
<div class="row">
<div class="col-md-3">
<?php the_post_thumbnail(\'medium\', array(\'class\' => \'img-responsive\')); ?>
</div>
<div class="col-md-6">
<p><?php the_excerpt() ?></p>
</div>
<div class="col-md-3">
<h3><?php the_title(); ?></h3>
</div>
</div>
</a>
<?php
}
endwhile; ?>
</div>