WordPress Tutorial의 다음 칼럼에서는 WordPress 카테고리에 다양한 템플릿 옵션을 추가하는 방법을 보여줍니다. 이 내용이 필요한 친구들에게 도움이 되기를 바랍니다. !
때로는 카테고리의 콘텐츠에 따라 다양한 카테고리가 다른 스타일로 표시되기를 원할 때가 있습니다. 일반적인 방법은 현재 테마 루트 디렉토리에 카테고리-1.php, 카테고리-2.php, 카테고리-3.php...와 같이 다양한 레이아웃 스타일을 사용하여 카테고리 템플릿을 여러 개 더 만드는 것입니다. 다음 숫자는 적절한 카테고리 ID 번호를 지정하거나 is_category() 함수를 사용하여 판단을 추가하는 것은 다소 번거롭습니다. 더 쉬운 방법은 사용자 정의 카테고리 템플릿 플러그인을 설치하는 것입니다.
플러그인 활성화 후 카테고리 편집 시 템플릿을 선택할 수 있는 옵션이 추가됩니다.
다양한 레이아웃 스타일로 여러 페이지 템플릿을 만듭니다. 템플릿 헤더에 유사한 로고가 있어야 합니다.
<?php /* Template Name: 模板A */
그런 다음 카테고리를 편집하거나 추가할 때 다른 카테고리 전용을 선택합니다. 주형.
효과는 다음과 같습니다:
다음은 사용자 정의 카테고리에서 추출됩니다. 템플릿 플러그인 코드는 현재 테마 함수 템플릿 function.php에 직접 추가될 수 있습니다.
코드 버전:
// 分类选择模板 class Select_Category_Template{ public function __construct() { add_filter( 'category_template', array($this,'get_custom_category_template' )); add_action ( 'edit_category_form_fields', array($this,'category_template_meta_box')); add_action( 'category_add_form_fields', array( &$this, 'category_template_meta_box') ); add_action( 'created_category', array( &$this, 'save_category_template' )); add_action ( 'edited_category', array($this,'save_category_template')); do_action('Custom_Category_Template_constructor',$this); } // 添加表单到分类编辑页面 public function category_template_meta_box( $tag ) { $t_id = $tag->term_id; $cat_meta = get_option( "category_templates"); $template = isset($cat_meta[$t_id]) ? $cat_meta[$t_id] : false; ?> <tr class="form-field"> <th scope="row" valign="top"><label for="cat_Image_url"><?php _e('Category Template'); ?></label></th> <td> <select name="cat_template" id="cat_template"> <option value='default'><?php _e('Default Template'); ?></option> <?php page_template_dropdown($template); ?> </select> <br /> <span class="description"><?php _e('为此分类选择一个模板'); ?></span> </td> </tr> <?php do_action('Custom_Category_Template_ADD_FIELDS',$tag); } // 保存表单 public function save_category_template( $term_id ) { if ( isset( $_POST['cat_template'] )) { $cat_meta = get_option( "category_templates"); $cat_meta[$term_id] = $_POST['cat_template']; update_option( "category_templates", $cat_meta ); do_action('Custom_Category_Template_SAVE_FIELDS',$term_id); } } // 处理选择的分类模板 function get_custom_category_template( $category_template ) { $cat_ID = absint( get_query_var('cat') ); $cat_meta = get_option('category_templates'); if (isset($cat_meta[$cat_ID]) && $cat_meta[$cat_ID] != 'default' ){ $temp = locate_template($cat_meta[$cat_ID]); if (!empty($temp)) return apply_filters("Custom_Category_Template_found",$temp); } return $category_template; } } $cat_template = new Select_Category_Template();
위 내용은 WordPress 카테고리에 다른 템플릿 옵션 선택을 추가하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!