<?php
/*
Template Name: JUGGLEDAD's multi column/custom query
Version: 1.6
= 1.6 =
* added code for for 'more' processing
= 1.5 =
* added code for center widget area from Atahualpa 3.7.12
= 1.4 =
* added option to control the number of full posts vrs excerpts to show
= 1.3 =
* added even some more error checking
= 1.2 =
* added some more error checking
= 1.1 =
* added error checking
= 1.0 =
* original release
LICENSE:
"JUGGLEDAD's multi column/custom query" is a template for the Atahualpa theme
Copyright (C) 2011 Paul M Woodard, The User's Guru (www.theusersguru.com)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
For a copy of the GNU General Public License go to 'www.gnu.org/licenses'
*/
?>
<?php
list($bfa_ata, $cols, $left_col, $left_col2, $right_col, $right_col2, $bfa_ata['h_blogtitle'], $bfa_ata['h_posttitle']) = bfa_get_options();
global $bfa_pagetemplate_name, $bfa_pagetemplate_full_post_count, $bfa_ata_postcount, $more;
get_header();
extract($bfa_ata);
$bfa_ata_postcount = 0;
$mccq_page = new WP_Query('page_id=' . $post->ID); /* save the page id */
$mccq_page->the_post();
$number_of_columns = 1;
$posts_above_the_column = 0;
$mccq_args = 'post_status=publish';
$show_page_title = 'no';
$show_page_text = 'no';
$custom_fields = get_post_custom($post->ID);
$bfa_pagetemplate_name = 'template_multi_column_custom_query.php';
$number_of_full_posts = 0;
// -------------------------------------------------------------------------
// get the custom query
// -------------------------------------------------------------------------
$my_custom_field = $custom_fields['custom_query'];
if (is_array($my_custom_field)) {
foreach ( $my_custom_field as $key => $value ) {
if ($key == 'custom_query') {$mccq_args= $value;}
}
}
// -------------------------------------------------------------------------
// get the show_page_title
// -------------------------------------------------------------------------
$my_custom_field = $custom_fields['show_page_title'];
if (is_array($my_custom_field)) {
foreach ( $my_custom_field as $key => $value ) {
if ($key == 'show_page_title') {
$show_page_title = strtolower($value);
if (($show_page_title != 'yes') AND ($show_page_title != 'no')) { ?>
<br><strong><font color="Crimson">Warning:</font> your value for 'show_page_title' on page '<?php the_title(); ?>' must be 'yes' or 'no' - please edit the page and set the value correctly</strong><br>
<?php }
}
}
}
// -------------------------------------------------------------------------
// get the number_of_full_posts
// -------------------------------------------------------------------------
$my_custom_field = $custom_fields['number_of_full_posts'];
if (is_array($my_custom_field)) {
foreach ( $my_custom_field as $key => $value ) {
if ($key == 'number_of_full_posts') {
$number_of_full_posts = strtolower($value);
if ((!is_numeric($number_of_full_posts)) OR ($number_of_full_posts < 0)) { ?>
<br><strong><font color="Crimson">Warning:</font> your value for 'number_of_full_posts' on page '<?php the_title(); ?>' is not numeric or is a negative number - please edit the page and set the value correctly</strong><br>
<?php }
}
}
}
$bfa_pagetemplate_full_post_count = $number_of_full_posts;
// -------------------------------------------------------------------------
// get the show_page_text
// -------------------------------------------------------------------------
$my_custom_field = $custom_fields['show_page_text'];
if (is_array($my_custom_field)) {
foreach ( $my_custom_field as $key => $value ) {
if ($key == 'show_page_text') {
$show_page_text = strtolower($value);
if (($show_page_text != 'yes') AND ($show_page_text != 'no')) { ?>
<br><strong><font color="Crimson">Warning:</font> your value for 'show_page_text' on page '<?php the_title(); ?>' must be 'yes' or 'no' - please edit the page and set the value correctly</strong><br>
<?php }
}
}
}
// -------------------------------------------------------------------------
// get the posts_above_the_column
// -------------------------------------------------------------------------
$my_custom_field = $custom_fields['posts_above_the_column'];
if (is_array($my_custom_field)) {
foreach ( $my_custom_field as $key => $value ) {
if ($key == 'posts_above_the_column') {
$posts_above_the_column = $value;
if ((!is_numeric($posts_above_the_column)) OR ($posts_above_the_column < 0)) { ?>
<br><strong><font color="Crimson">Warning:</font> your value for 'posts_above_the_column' on page '<?php the_title(); ?>' is not numeric or is a negative number - please edit the page and set the value correctly</strong><br>
<?php }
}
}
}
// -------------------------------------------------------------------------
// get the number_of_columns
// -------------------------------------------------------------------------
$my_custom_field = $custom_fields['number_of_columns'];
if (is_array($my_custom_field)) {
foreach ( $my_custom_field as $key => $value ) {
if ($key == 'number_of_columns') {
$number_of_columns = $value;
if ((!is_numeric($number_of_columns)) OR ($number_of_columns < 1)) { ?>
<br><strong><font color="Crimson">Warning:</font> your value for 'number_of_columns' on page '<?php the_title(); ?>' is not numeric or is less than 1 - please edit the page and set the value correctly</strong><br>
<?php }
}
}
}
// wp_reset_query();
$paged = get_query_var('paged');
if (!$paged) {
$paged = get_query_var('page');
if (!$paged) {
$paged = 0;
}
}
// -------------------------------------------------------------------------
// Should we show the page title?
// -------------------------------------------------------------------------
if ($show_page_title == 'yes') {
bfa_post_kicker('<div class="post-kicker">','</div>');
bfa_post_headline('<div class="post-headline">','</div>');
bfa_post_byline('<div class="post-byline">','</div>');
}
// -------------------------------------------------------------------------
// Should we show the page text?
// -------------------------------------------------------------------------
if ($show_page_text=='yes' ) {
bfa_post_bodycopy('<div class="post-bodycopy clearfix">','</div>');
}
$mccq_args= $mccq_args."&paged=$paged";
?>
<?php
/* ===================================
THIS SECTION WILL PROCESS THE POSTS
=================================== */
?>
<?php
$more = 0;
query_posts($mccq_args);
/* If there are any posts: */
if (have_posts()) : $bfa_ata_postcount = 0; /* Postcount needed for option "XX first posts full posts, rest excerpts" */ ?>
<?php if ($bfa_ata['widget_center_top'] <> '') {
echo bfa_parse_widget_areas($bfa_ata['widget_center_top']);
} ?>
<?php // Deactivated since 3.6.5
# include 'bfa://content_above_loop';
// Uses the following static code instead: ?>
<?php bfa_next_previous_page_links('Top'); // For MULTI post pages if activated at ATO -> Next/Previous Navigation: ?>
<table cellpadding="0" cellspacing="0" border="0">
<?php $column_cnt = 1; ?>
<?php while (have_posts()) : the_post(); $bfa_ata_postcount++; ?>
<?php if ($column_cnt == 1) { echo "<tr>"; }
if ($bfa_ata_postcount <= $posts_above_the_column) { ?>
<td id="mccq-header" colspan="<?php echo $number_of_columns;?>"> <?php
} else { ?>
<td class="mccq_column<?php echo $column_cnt;?>" style="vertical-align: top"> <?php
} ?>
<?php // Deactivated since 3.6.5
#include 'bfa://content_inside_loop';
// Uses the following static code instead: ?>
<?php bfa_next_previous_post_links('Top'); // For SINGLE post pages if activated at ATO -> Next/Previous Navigation ?>
<?php /* Post Container starts here */
if ( function_exists('post_class') ) { ?>
<div <?php if ( is_page() ) { post_class('post'); } else { post_class(); } ?> id="post-<?php the_ID(); ?>">
<?php } else { ?>
<div class="<?php echo ( is_page() ? 'page ' : '' ) . 'post" id="post-'; the_ID(); ?>">
<?php } ?>
<?php bfa_post_kicker('<div class="post-kicker">','</div>'); ?>
<?php bfa_post_headline('<div class="post-headline">','</div>'); ?>
<?php bfa_post_byline('<div class="post-byline">','</div>'); ?>
<?php bfa_post_bodycopy('<div class="post-bodycopy clearfix">','</div>'); ?>
<?php bfa_post_pagination('<p class="post-pagination"><strong>'.__('Pages:','atahualpa').'</strong>','</p>'); ?>
<?php bfa_post_footer('<div class="post-footer">','</div>'); ?>
</div><!-- / Post -->
</td>
<?php if ($bfa_ata_postcount <= $posts_above_the_column) { ?>
</tr> <?php
$column_cnt=0;
} ?>
<?php $column_cnt++;
if ($column_cnt > $number_of_columns) {
echo "</tr>";
$column_cnt=1;
} ?>
<?php endwhile; ?>
</table>
<?php // Deactivated since 3.6.5
# include 'bfa://content_below_loop';
// Uses the following static code instead: ?>
<?php bfa_next_previous_post_links('Middle'); // Displayed on SINGLE post pages if activated at ATO -> Next/Previous Navigation: ?>
<?php bfa_get_comments(); // Load Comments template (on single post pages, and static pages, if set on options page): ?>
<?php bfa_next_previous_post_links('Bottom'); // Displayed on SINGLE post pages if activated at ATO -> Next/Previous Navigation: ?>
<?php bfa_archives_page('<div class="archives-page">','</div>'); // Archives Pages. Displayed on a specific static page, if configured at ATO -> Archives Pages: ?>
<?php bfa_next_previous_page_links('Bottom'); // Displayed on MULTI post pages if activated at ATO -> Next/Previous Navigation: ?>
<?php if ($bfa_ata['widget_center_bottom'] <> '') {
echo bfa_parse_widget_areas($bfa_ata['widget_center_bottom']);
} ?>
<?php /* END of: If there are any posts */
else : /* If there are no posts: */ ?>
<?php // Deactivated since 3.6.5
#include 'bfa://content_not_found';
// Uses the following static code instead: ?>
<h2><?php _e('Not Found','atahualpa'); ?></h2>
<p><?php _e("Sorry, but you are looking for something that isn't here.","atahualpa"); ?></p>
<?php endif; /* END of: If there are no posts */ ?>
<?php $wp_query = $mccq_page; /* reset the page id */ ?>
<?php get_footer(); ?>