Я создал свой собственный шаблон WordPress:
<?php
/**
* The main template file for display portfolio page.
*
* Template Name: Portfolio Test
* @package WordPress
*/
/**
* Get Current page object
Я хочу, чтобы на этой странице отображалось портфолио по его категориям, если выбранная категория — дети, то на странице будут показаны детские фотографии.
Как добавить поле, когда я выбираю этот шаблон на странице администратора, поле для ввода слагаемой категории для определения этой страницы покажет, какая категория.
Как добавить поле слаг категории?
Во-первых, я бы рекомендовал не делать этого таким образом, WordPress использует одну и ту же страницу для каждой категории блога, например index.php. При переходе к категории она каждый раз отображается на одной и той же странице. Отдельные категории блогов мне кажутся далекими.
Но вы можете добавить настраиваемое поле к сообщениям, как это
<?php
function custom_field_meta( $meta_boxes ) {
$prefix = 'custom'; // Prefix for all fields
$meta_boxes['custom_field_metas'] = array(
'id' => 'custom_field_metas',
'title' => 'Custom Field Details',
'pages' => array( 'post', '' ), // post type
'context' => 'normal',
'priority' => 'high',
'show_names' => true, // Show field names on the left
'fields' => array(
array(
'name' => 'Blog Category',
'desc' => 'choose category to display',
'id' => $prefix . '_cat',
'type' => 'text'
),
),
);
return $meta_boxes;
}
add_filter( 'cmb_meta_boxes', 'custom_field_meta' );
И использовать вывод, как с этим кодом
<?php global $post;
$text = get_post_meta( $post->ID, 'custom_cat', true );
echo $text;
?>
Затем в запросе используйте пользовательскую мету, что-то вроде этого:
<?php
$loop = new WP_Query( 'category_name=
<?php global $post;
$text = get_post_meta( $post->ID, 'custom_cat', true );
echo $text;
?>
' );
?>
Некоторые предостережения: я не использовал этот код и подозреваю, что custom_meta не будет работать в wp_query, поскольку он должен быть внутри цикла; настраиваемое поле должно иметь идеальный ввод slug, иначе оно не будет работать.
Хорошо, что вы должны делать? Настройте страницу для своего блога, «наш блог» или что-то в этом роде. Зайдите в настройки WordPress «чтение» и выберите «наш блог» в качестве страницы ваших сообщений. Затем перейдите в «Внешний вид»> «Меню» и создайте меню, которое ссылается на категории вашего блога (если вы не видите категорий, на которые можно ссылаться, нажмите «Параметры экрана» и отметьте «категории»).
Удачи.
Других решений пока нет …