Bổ sung cơ chế matching template theo category slug cho single post trong WordPress

Mặc định Template Hierarchy có sẵn không hỗ trợ matching theo category slug cho single post. Chỉ hỗ trợ cho Custom post single hoặc category archive. Nếu ta muốn cơ chế đó thì phải thêm code vào. Ta có thể thêm ở functions.php

function apply_match_by_cat_slug_single_template($template){
	foreach( (array) get_the_category() as $cat ) 
		if ( file_exists(TEMPLATEPATH . "/single-{$cat->slug}.php") )
			return TEMPLATEPATH . "/single-{$cat->slug}.php"; 
	return $template;
}
add_filter('single_template', 'apply_match_by_cat_slug_single_template');

Nếu là ở childtheme thì dùng STYLESHEETPATH thay cho TEMPLATEPATH

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s