Php 用木材重构复杂的Wordpress模板
我被要求重新设计一个大学系的Wordpress网站,我一直在尝试使用木材使模板更干净,更易于维护 到目前为止,进展非常顺利,但我在将此学位指南模板放入控制器+视图设置时遇到了很多麻烦 学位和课程都有自定义的职位类型。在学位指南中还有一个自定义分类法,用于将课程分为学期和年份 我在下面列出了指南一年级的代码以及整个模板要点的链接 我真的不知道从哪里开始。因此,非常感谢您的任何帮助、指点或资源Php 用木材重构复杂的Wordpress模板,php,wordpress,custom-post-type,custom-taxonomy,timber,Php,Wordpress,Custom Post Type,Custom Taxonomy,Timber,我被要求重新设计一个大学系的Wordpress网站,我一直在尝试使用木材使模板更干净,更易于维护 到目前为止,进展非常顺利,但我在将此学位指南模板放入控制器+视图设置时遇到了很多麻烦 学位和课程都有自定义的职位类型。在学位指南中还有一个自定义分类法,用于将课程分为学期和年份 我在下面列出了指南一年级的代码以及整个模板要点的链接 我真的不知道从哪里开始。因此,非常感谢您的任何帮助、指点或资源 <?php if (is_single ( '19871' )) { $fresh
<?php if (is_single ( '19871' )) {
$freshmandegreeterms = 'freshman-year-bfa-filmmaking';
$springfreshmandegreeterms = 'spring-freshman-year-bfa-filmmaking';
$fallfreshmandegreeterms = 'fall-freshman-year-bfa-filmmaking';
} elseif (is_single ( '19872' )) {
$freshmandegreeterms = 'freshman-year-bs-mis';
$springfreshmandegreeterms = 'spring-freshman-year-bs-mis';
$fallfreshmandegreeterms = 'fall-freshman-year-bs-mis';
} elseif (is_single ( '19873' )) {
$freshmandegreeterms = 'freshman-year-bm-mis';
$springfreshmandegreeterms = 'spring-freshman-year-bm-mis';
$fallfreshmandegreeterms = 'fall-freshman-year-bm-mis';
}
elseif (is_single ( '19874' )) {
$freshmandegreeterms = 'freshman-year-ba-pop';
$springfreshmandegreeterms = 'spring-freshman-year-ba-pop';
$fallfreshmandegreeterms = 'fall-freshman-year-ba-pop';
}
?>
<h2>Freshman Year</h2>
<div id="freshmanyear" class="row">
<div id="freshmanfall" class="medium-6 large-6 columns">
<table>
<tr>
<td style="font-weight:bold;">Fall</td>
</tr>
<?php
$fallfreshmanquery = new WP_Query( array ( 'post_type' => 'course',
'posts_per_page' => 20,
'order' => ASC,
'orderby' => 'menu_order',
'tax_query' => array(
array(
'taxonomy' => 'degree-requirement',
'terms' => $fallfreshmandegreeterms,
'field' => 'slug'
)
) ) );
while ( $fallfreshmanquery->have_posts() ) : $fallfreshmanquery->the_post();
?>
<tr>
<td><a href="#" data-reveal-id="myModal<?php the_ID(); ?>">
<?php the_title(); ?>
</a>
<div id="myModal<?php the_ID(); ?>" class="reveal-modal" data-reveal>
<?php the_content(); ?><br/>
<?php if ( get_post_meta( get_the_ID(), 'wpcf-credit-hours', true ) ) : ?>
Credit Hours : <?php echo get_post_meta( get_the_ID(), 'wpcf-credit-hours', true ); ?>
<?php endif; ?>
<a class="close-reveal-modal">×</a> </div></td>
</tr>
<?php endwhile; ?>
</table>
</div>
<!-- end freshman fall -->
<div id="freshmanspring" class="medium-6 large-6 columns">
<table>
<tr>
<td style="font-weight:bold;">Spring</td>
</tr>
<?php
$springfreshmanquery = new WP_Query( array ( 'post_type' => 'course',
'posts_per_page' => 20,
'order' => ASC,
'orderby' => 'menu_order',
'tax_query' => array(
array(
'taxonomy' => 'degree-requirement',
'terms' => $springfreshmandegreeterms,
'field' => 'slug'
)
) ) );
while ( $springfreshmanquery->have_posts() ) : $springfreshmanquery->the_post();
?>
<tr>
<td><a href="#" data-reveal-id="myModal<?php the_ID(); ?>">
<?php the_title(); ?>
</a>
<div id="myModal<?php the_ID(); ?>" class="reveal-modal" data-reveal>
<h2>
<?php the_title(); ?>
</h2>
<p>
<?php the_content(); ?><br/>
<?php if ( get_post_meta( get_the_ID(), 'wpcf-credit-hours', true ) ) : ?>
Credit Hours : <?php echo get_post_meta( get_the_ID(), 'wpcf-credit-hours', true ); ?>
<?php endif; ?>
</p>
<a class="close-reveal-modal">×</a> </div></td>
</tr>
<?php endwhile; ?>
</table>
</div>
<!-- end freshman Spring -->
</div>
<!-- end freshman year -->
大一
落下
这不是一个具体的问题,但这里有一些东西可能会有所帮助
您可以为一些控制器逻辑创建wordpress自定义插件(类)。在这个插件中,它可以确定$FreshManDegreeters的值
对$freshmandegreeterms的值进行排序的一种方法是创建一个接受参数的函数,即“19874”。比如:
public function set_freshman_terms( $code ) {
$terms = [
//Add necessary terms below
'19871' => 'freshman-year-bfa-filmmaking',
'19872' => 'freshman-year-bs-mis',
]
$term = $terms[$code];
$freshman = [];
$freshman['term'] = $term;
$freshman['fall'] = 'fall-'.$term;
$freshman['spring'] = 'spring-'.$term;
//Set context
$context['freshman'] = $freshman;
}
您甚至可以将该函数拉入更小的函数中。但是,在您的视图中使用twig将这些数据称为:
{{ freshman.term }}
{{ freshman.fall }}
{{ freshman.spring }}
这不是一个具体的问题,但这里有一些东西可能会有所帮助
您可以为一些控制器逻辑创建wordpress自定义插件(类)。在这个插件中,它可以确定$FreshManDegreeters的值
对$freshmandegreeterms的值进行排序的一种方法是创建一个接受参数的函数,即“19874”。比如:
public function set_freshman_terms( $code ) {
$terms = [
//Add necessary terms below
'19871' => 'freshman-year-bfa-filmmaking',
'19872' => 'freshman-year-bs-mis',
]
$term = $terms[$code];
$freshman = [];
$freshman['term'] = $term;
$freshman['fall'] = 'fall-'.$term;
$freshman['spring'] = 'spring-'.$term;
//Set context
$context['freshman'] = $freshman;
}
您甚至可以将该函数拉入更小的函数中。但是,在您的视图中使用twig将这些数据称为:
{{ freshman.term }}
{{ freshman.fall }}
{{ freshman.spring }}