php Шаблоныпоусловиючерез$ template#страница#категория#запись

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php Шаблоныпоусловиючерез$ template#страница#категория#запись相关的知识,希望对你有一定的参考价值。

<?
// фильтр передает переменную $template - путь до файла шаблона.
// Изменяя этот путь мы изменяем файл шаблона.
function my_template( $template ) {

	# аналог второго способа
	// если это страница со слагом portfolio, используем файл шаблона page-portfolio.php
	// используем условный тег is_page()
	if( is_page('portfolio') ){
		if ( $new_template = locate_template( array( 'page-portfolio.php' ) ) )
			return $new_template ;
	}

	# шаблон для группы рубрик
	// этот пример будет использовать файл из папки темы tpl_special-cats.php, 
	// как шаблон для рубрик с ID 9, названием "Без рубрики" и слагом "php"
	if( is_category( array( 9, 'Без рубрики', 'php') ) ){
		return get_stylesheet_directory() . '/tpl_special-cats.php';
	}

	# шаблон для записи по ID
	// файл шаблона расположен в папке плагина /my-plugin/site-template.php
	global $post;
	if( $post->ID == 12 ){
		return wp_normalize_path( WP_PLUGIN_DIR ) . '/my-plugin/site-template.php';
	}

	# шаблон для страниц произвольного типа "book"
	// предполагается, что файл шаблона book-tpl.php лежит в папке темы
	global $post;
	if( $post->post_type == 'book' ){
		return get_stylesheet_directory() . '/book-tpl.php';
	}

	return $template;

}
add_filter('template_include', 'my_template');

function my_single_template($single) {
    global $wp_query, $post;
    foreach((array)get_the_category() as $cat) {
        if(file_exists(get_template_directory() . '/single-' . $cat->slug . '.php')) {
            return get_template_directory() . '/single-' . $cat->slug . '.php';
        } elseif(file_exists('/single-' . $cat->term_id . '.php')) {
            return get_template_directory() . '/single-' . $cat->term_id . '.php';
        }
    }
}
add_filter('single_template', 'my_single_template');
?>

以上是关于php Шаблоныпоусловиючерез$ template#страница#категория#запись的主要内容,如果未能解决你的问题,请参考以下文章

swift Вконечномсчетеярешил,чтоэтопростаярекурсия。 Надругихязыкахрекурсиюяреализовывал。 Пробуюнасвифт

python Несамыйлучшийвариантпреобразованиядвумернойматрицы,заполняемойпострочно - вматрицузаполняемую

php Еслинамнужно,чтобыбылоневозможноредактироватьполе“Название”,мывносимследующеевычисление...

text ВданномслучаесекцииразделовимеютпользовательскоеполеUF_HEADQUARTER。 Ближайшеевыибраетсякиспольз

python Скриптпреобразованияматрицызаполняемойпострочновматрицузаполняемуюпоспирали---найденчерезгугл

php WordPressназаглушки的Заменяетбитыессылкинакратинки。 Удобно,напримернатестовомсайте,чтобынеперенос