2014-04-07 118 views
3

我正在使用顯示最近發佈的wordpress插件。我已經更改了模板,以便3個最近發佈的帖子將顯示在主頁上的特色框中。問題是第一個盒子需要被賦予'alpha'類別,而lastt盒子需要被賦予'omega'類別以便它們正確地適應。我的PHP技能不是這種先進的。將CSS類分配給第一個和第三個html元素

該模板位於template.php頁面中。和大多數的代碼如下:

/** 
* The format for templates changed since version 0.17. 
* Since this code is included inside CatListDisplayer, $this refers to 
* the instance of CatListDisplayer that called this file. 
*/ 

/* This is the string which will gather all the information.*/ 
$lcp_display_output = ''; 

// Show category link: 
$lcp_display_output .= $this->get_category_link('strong'); 

//Add 'starting' tag. Here, I'm using an unordered list (ul) as an example: 
$lcp_display_output .= '<div class="lcp_catlist info_box_area row clearfix" id="box_area_0">'; 

/** 
* Posts loop. 
* The code here will be executed for every post in the category. 
* As you can see, the different options are being called from functions on the 
* $this variable which is a CatListDisplayer. 
* 
* The CatListDisplayer has a function for each field we want to show. 
* So you'll see get_excerpt, get_thumbnail, etc. 
* You can now pass an html tag as a parameter. This tag will sorround the info 
* you want to display. You can also assign a specific CSS class to each field. 
*/ 

foreach ($this->catlist->get_categories_posts() as $single){ 
    //Start a List Item for each post: 
    $lcp_display_output .= '<div class="one-third column info_box alpha omega">'; 

    //Post Thumbnail 
    $lcp_display_output .= $this->get_thumbnail($single); 

    //Show the title and link to the post: 
    $lcp_display_output .= $this->get_post_title($single); 

    //Show comments: 
    $lcp_display_output .= $this->get_comments($single); 

    //Show date: 
    $lcp_display_output .= ' ' . $this->get_date($single, 'span', 'lcp-date'); 

    //Show author 
    $lcp_display_output .= $this->get_author($single); 

    //Custom fields: 
    $lcp_display_output .= $this->get_custom_fields($this->params['customfield_display'], $single->ID); 

    /** 
    * Post content - Example of how to use tag and class parameters: 
    * This will produce:<p class="lcp_content">The content</p> 
    */ 
    $lcp_display_output .= $this->get_content($single, 'p', 'lcp_content'); 

    /** 
    * Post content - Example of how to use tag and class parameters: 
    * This will produce:<div class="lcp_excerpt">The content</div> 
    */ 
    $lcp_display_output .= $this->get_excerpt($single, 'div', 'lcp_excerpt'); 

    //Close li tag 
    $lcp_display_output .= '</div>'; 

} 

$lcp_display_output .= '</div>'; 

我首先想到的是自動遞增一類各div元素,然後格式化這些具體,但如果添加的阿爾法和歐米伽更簡單的方法直接上課,那會很棒!

回答

2

在PHP中做到這一點,你可以再補充條件,以你的循環......

$i = 1; 

foreach ($this->catlist->get_categories_posts() as $single){ 
    //Start a List Item for each post: 
    if ($i == 1) 
    $lcp_display_output .= '<div class="one-third column info_box alpha">'; 
    elseif ($i == 3) 
    $lcp_display_output .= '<div class="one-third column info_box omega">'; 
    else 
    $lcp_display_output .= '<div class="one-third column info_box">'; 

    // the rest of your foreach code 
    ... 

    $i++; 

} 
1

CSS:

.lcp_catlist .info_box:first-child, .lcp_catlist .info_box:last-child { 
    opacity: 0.3 
} 
0

爲什麼沒有一個簡單的嘗試:

$post_position = 1; 

foreach ($this->catlist->get_categories_posts() as $single){ 
    //Start a List Item for each post: 
    if ($post_position == 1){ 
     $lcp_display_output .= '<div class="one-third column info_box alpha">'; 
    }elsif ($post_position == 3){ 
     $lcp_display_output .= '<div class="one-third column info_box omega">'; 
    }else{ 
     $lcp_display_output .= '<div class="one-third column info_box">'; 
    } 
    //Post Thumbnail 
    $lcp_display_output .= $this->get_thumbnail($single); 

    //Show the title and link to the post: 
    $lcp_display_output .= $this->get_post_title($single); 

    //Show comments: 
    $lcp_display_output .= $this->get_comments($single); 

    //Show date: 
    $lcp_display_output .= ' ' . $this->get_date($single, 'span', 'lcp-date'); 

    //Show author 
    $lcp_display_output .= $this->get_author($single); 

    //Custom fields: 
    $lcp_display_output .= $this->get_custom_fields($this->params['customfield_display'], $single->ID); 

    /** 
    * Post content - Example of how to use tag and class parameters: 
    * This will produce:<p class="lcp_content">The content</p> 
    */ 
    $lcp_display_output .= $this->get_content($single, 'p', 'lcp_content'); 

    /** 
    * Post content - Example of how to use tag and class parameters: 
    * This will produce:<div class="lcp_excerpt">The content</div> 
    */ 
    $lcp_display_output .= $this->get_excerpt($single, 'div', 'lcp_excerpt'); 

    //Close li tag 
    $lcp_display_output .= '</div>'; 

    $post_position++; 
} 
相關問題