You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
438 lines
12 KiB
438 lines
12 KiB
7 years ago
|
<?php
|
||
|
/*
|
||
|
* @Author pickplugins
|
||
|
* Copyright: 2015 pickplugins.com
|
||
|
*/
|
||
|
|
||
|
if ( ! defined('ABSPATH')) exit; // if direct access
|
||
|
|
||
|
$class_post_grid_functions = new class_post_grid_functions();
|
||
|
|
||
|
$post_grid_layout_content = get_option( 'post_grid_layout_content' );
|
||
|
|
||
|
if(empty($post_grid_layout_content)){
|
||
|
$layout = $class_post_grid_functions->layout_content($layout_content);
|
||
|
}
|
||
|
else{
|
||
|
|
||
|
if(!empty($post_grid_layout_content[$layout_content])){
|
||
|
$layout = $post_grid_layout_content[$layout_content];
|
||
|
|
||
|
}
|
||
|
else{
|
||
|
$layout = array();
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
$html_content = '';
|
||
|
|
||
|
$html.='<div class="layer-content">';
|
||
|
|
||
|
foreach($layout as $item_id=>$item_info){
|
||
|
|
||
|
$item_key = $item_info['key'];
|
||
|
|
||
|
if(!empty($item_info['char_limit'])){
|
||
|
$char_limit = $item_info['char_limit'];
|
||
|
}
|
||
|
|
||
|
|
||
|
if(!empty($item_info['link_target'])){
|
||
|
$link_target = $item_info['link_target'];
|
||
|
}
|
||
|
else{
|
||
|
$link_target = '';
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
if($item_key=='title'){
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
$html_content.= apply_filters('post_grid_filter_grid_item_title',wp_trim_words(get_the_title(), $char_limit,''));
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
elseif($item_key=='title_link'){
|
||
|
|
||
|
$html_content.= '<a target="'.$link_target.'" class="element element_'.$item_id.' '.$item_key.'" href="'.get_permalink().'">'.apply_filters('post_grid_filter_grid_item_title',wp_trim_words(get_the_title(), $char_limit,'')).'</a>';
|
||
|
|
||
|
}
|
||
|
|
||
|
elseif($item_key=='content'){
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
$the_content = get_the_content();
|
||
|
$html_content.= apply_filters('post_grid_filter_grid_item_content', $the_content);
|
||
|
|
||
|
//$html_content.= apply_filters( 'the_content', get_the_content() );
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
elseif($item_key=='read_more'){
|
||
|
|
||
|
if(!empty($item_info['read_more_text'])){
|
||
|
$read_more_text = $item_info['read_more_text'];
|
||
|
}
|
||
|
else{
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
$read_more_text = apply_filters('post_grid_filter_grid_item_read_more', __('Read more.', post_grid_textdomain));
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
$html_content.= '<a target="'.$link_target.'" class="element element_'.$item_id.' '.$item_key.'" href="'.get_permalink().'">'.$read_more_text.'</a>';
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
elseif($item_key=='thumb'){
|
||
|
|
||
|
$thumb = wp_get_attachment_image_src( get_post_thumbnail_id(get_the_ID()), 'full' );
|
||
|
$thumb_url = $thumb['0'];
|
||
|
|
||
|
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
if(!empty($thumb_url)){
|
||
|
$html_content.= '<img src="'.$thumb_url.'" />';
|
||
|
}
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
elseif($item_key=='thumb_link'){
|
||
|
|
||
|
$thumb = wp_get_attachment_image_src( get_post_thumbnail_id(get_the_ID()), 'full' );
|
||
|
$thumb_url = $thumb['0'];
|
||
|
|
||
|
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
|
||
|
if(!empty($thumb_url)){
|
||
|
$html_content.= '<a href="'.get_permalink().'"><img src="'.$thumb_url.'" /></a>';
|
||
|
}
|
||
|
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
elseif($item_key=='excerpt'){
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
|
||
|
//var_dump(get_the_excerpt());
|
||
|
$the_content = get_the_excerpt();
|
||
|
|
||
|
$excerpt_removed_shortcode = preg_replace( '|\[(.+?)\](.+?\[/\\1\])?|s', '', strip_shortcodes($the_content));
|
||
|
|
||
|
$html_content.= apply_filters('post_grid_filter_grid_item_excerpt',wp_trim_words($excerpt_removed_shortcode, $char_limit,''));
|
||
|
|
||
|
//$html_content.= wp_trim_words(get_the_excerpt(), $char_limit,'');
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
elseif($item_key=='excerpt_read_more'){
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
|
||
|
$read_more_text = apply_filters('post_grid_filter_grid_item_read_more', __('Read more.', post_grid_textdomain));
|
||
|
|
||
|
$html_content.= wp_trim_words(strip_shortcodes(get_the_excerpt()), $char_limit,'').' <a target="'.$link_target.'" class="read-more" href="'.get_permalink().'">'.$read_more_text.'</a>';
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
elseif($item_key=='post_date'){
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
$html_content.= apply_filters('post_grid_filter_grid_item_post_date', get_the_date());
|
||
|
|
||
|
//$html_content.= get_the_date();
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
elseif($item_key=='author'){
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
$html_content.= apply_filters('post_grid_filter_grid_item_author', get_the_author());
|
||
|
|
||
|
//$html_content.= get_the_author();
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
|
||
|
elseif($item_key=='author_link'){
|
||
|
//$html_content.='<div >';
|
||
|
$html_content.= '<a class="element element_'.$item_id.' '.$item_key.'" href="'.get_author_posts_url(get_the_author_meta( 'ID' ), get_the_author_meta( 'user_nicename' )).'">'.get_the_author().'</a>';
|
||
|
//$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
elseif($item_key=='categories'){
|
||
|
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
$categories = get_the_category();
|
||
|
$separator = ' ';
|
||
|
$output = '';
|
||
|
if ( ! empty( $categories ) ) {
|
||
|
foreach( $categories as $category ) {
|
||
|
$html_content .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( 'View all posts in %s', 'post_grid_textdomain' ), $category->name ) ) . '">' . esc_html( $category->name ) . '</a>' . $separator;
|
||
|
}
|
||
|
$html_content.= trim( $output, $separator );
|
||
|
}
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
elseif($item_key=='tags'){
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
$posttags = get_the_tags();
|
||
|
if ($posttags) {
|
||
|
foreach($posttags as $tag){
|
||
|
$html_content.= '<a href="#">'.$tag->name . '</a> ';
|
||
|
}
|
||
|
}
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
elseif($item_key=='comments_count'){
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
|
||
|
$comments_number = get_comments_number( get_the_ID() );
|
||
|
|
||
|
if(comments_open()){
|
||
|
|
||
|
if ( $comments_number == 0 ) {
|
||
|
$html_content.= __('No Comments',post_grid_textdomain);
|
||
|
} elseif ( $comments_number > 1 ) {
|
||
|
$html_content.= $comments_number . __(' Comments',post_grid_textdomain);
|
||
|
} else {
|
||
|
$html_content.= __('1 Comment',post_grid_textdomain);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
|
||
|
elseif($item_key=='comments'){
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
$html_content.= '<h3 class="comment-content ">'.__('Comments', post_grid_textdomain).'</h3>';
|
||
|
|
||
|
|
||
|
$comments_count = wp_count_comments(get_the_ID());
|
||
|
$total_comments = $comments_count->approved;
|
||
|
|
||
|
//var_dump(get_the_ID());
|
||
|
|
||
|
|
||
|
if($total_comments <= 0)
|
||
|
{
|
||
|
|
||
|
$html_content.= '<div class="comment no-comment">';
|
||
|
$html_content.= '<p class="comment-content ">'.__('No comments yet',post_grid_textdomain).'</p>';
|
||
|
|
||
|
$html_content.= '</div>';
|
||
|
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
|
||
|
|
||
|
$comments = get_comments(array(
|
||
|
'post_id' => get_the_ID(),
|
||
|
'status' => 'approve',
|
||
|
'number' => 5,
|
||
|
'order' => 'ASC',
|
||
|
));
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
if(empty($comments))
|
||
|
{
|
||
|
|
||
|
$html_content.= '<div class="comment no-more-comment">';
|
||
|
$html_content.= '<p class="comment-content ">'.__('No More comments',post_grid_textdomain).'';
|
||
|
$html_content.= '</p>';
|
||
|
$html_content.= '</div>';
|
||
|
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
|
||
|
$html_content.= '<div id="comments" class="comments-area">';
|
||
|
$html_content.= '<ol class="commentlist">';
|
||
|
|
||
|
foreach($comments as $comment) :
|
||
|
|
||
|
|
||
|
$comment_ID = $comment->comment_ID;
|
||
|
$comment_author = $comment->comment_author;
|
||
|
$comment_author_email = $comment->comment_author_email;
|
||
|
$comment_content = $comment->comment_content;
|
||
|
$comment_date = $comment->comment_date;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
$html_content.= '<li class="comment">';
|
||
|
$html_content.= '<article id="" class="comment">';
|
||
|
$html_content.= '<header class="comment-meta comment-author vcard">';
|
||
|
|
||
|
$html_content.= get_avatar($comment_author_email, 50);
|
||
|
|
||
|
$html_content.= '<cite><b class="fn">'.$comment_author.'</b></cite>';
|
||
|
$html_content.= '<time >'.$comment_date.'</time>';
|
||
|
|
||
|
$html_content.= '</header>';
|
||
|
$html_content.= '<section class="comment-content comment">';
|
||
|
$html_content.= '<p>'.$comment_content.'</p>';
|
||
|
$html_content.= '</section>';
|
||
|
|
||
|
$html_content.= '</article>';
|
||
|
|
||
|
$html_content.= '</li>';
|
||
|
|
||
|
endforeach;
|
||
|
|
||
|
$html_content.= '</ol>';
|
||
|
$html_content.= '</div>';
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
|
||
|
elseif($item_key=='wc_full_price'){
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
|
||
|
$is_product = get_post_type( get_the_ID() );
|
||
|
$active_plugins = get_option('active_plugins');
|
||
|
if(in_array( 'woocommerce/woocommerce.php', (array) $active_plugins ) && $is_product=='product'){
|
||
|
global $woocommerce, $product;
|
||
|
|
||
|
$full_price = $product->get_price_html();
|
||
|
|
||
|
$html_content.=$full_price;
|
||
|
}
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
|
||
|
elseif($item_key=='wc_add_to_cart'){
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
|
||
|
$is_product = get_post_type( get_the_ID() );
|
||
|
$active_plugins = get_option('active_plugins');
|
||
|
if(in_array( 'woocommerce/woocommerce.php', (array) $active_plugins ) && $is_product=='product'){
|
||
|
global $woocommerce, $product;
|
||
|
|
||
|
|
||
|
$add_to_cart = do_shortcode('[add_to_cart show_price="false" id="'.get_the_ID().'"]');
|
||
|
$html_content.= $add_to_cart;
|
||
|
|
||
|
}
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
elseif($item_key=='edd_price'){
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
|
||
|
$is_download = get_post_type( get_the_ID() );
|
||
|
$active_plugins = get_option('active_plugins');
|
||
|
if(in_array( 'easy-digital-downloads/easy-digital-downloads.php', (array) $active_plugins ) && $is_download=='download'){
|
||
|
|
||
|
|
||
|
$edd_price = edd_price(get_the_ID(),false);
|
||
|
|
||
|
$html_content.= $edd_price;
|
||
|
|
||
|
}
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
elseif($item_key=='edd_add_to_cart'){
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
|
||
|
$is_download = get_post_type( get_the_ID() );
|
||
|
$active_plugins = get_option('active_plugins');
|
||
|
if(in_array( 'easy-digital-downloads/easy-digital-downloads.php', (array) $active_plugins ) && $is_download=='download'){
|
||
|
|
||
|
$purchase_link = do_shortcode('[purchase_link id="'.get_the_ID().'" text="'.__('Add to Cart','post_grid_textdomain').'" style="button"]' );
|
||
|
$html_content.= $purchase_link;
|
||
|
|
||
|
}
|
||
|
$html_content.='</div>';
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
elseif($item_key=='share_button'){
|
||
|
$html_content.='<div class="element element_'.$item_id.' '.$item_key.'" >';
|
||
|
|
||
|
$html_share_buttons = '';
|
||
|
|
||
|
$html_share_buttons.= '
|
||
|
<span class="fb">
|
||
|
<a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u='.get_permalink().'"> </a>
|
||
|
</span>
|
||
|
<span class="twitter">
|
||
|
<a target="_blank" href="https://twitter.com/intent/tweet?url='.get_permalink().'&text='.get_the_title().'"></a>
|
||
|
</span>
|
||
|
<span class="gplus">
|
||
|
<a target="_blank" href="https://plus.google.com/share?url='.get_permalink().'"></a>
|
||
|
</span>';
|
||
|
|
||
|
$html_content.= apply_filters('post_grid_filter_share_buttons',$html_share_buttons);
|
||
|
|
||
|
$html_content.='</div>';
|
||
|
|
||
|
}
|
||
|
|
||
|
elseif($item_key=='hr'){
|
||
|
|
||
|
$html_content.= '<hr class="element element_'.$item_id.' '.$item_key.'" />';
|
||
|
|
||
|
}
|
||
|
|
||
|
else{
|
||
|
$html_content.= '';
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
$html.= apply_filters('post_grid_filter_html_content', $html_content);
|
||
|
$html.='</div>'; // .layer-content
|