How to show recent pages not posts
-
Hi all,
I’ve been trying to get my home page to show recent pages and not posts but since I have no idea how to change the code can someone help me? I’ve been searching online for days and can’t find the answer :-(.
I’m using the Alizee theme that nicely shows recent posts in 3 columns but I’m using pages not posts. What do I need to change in the following php code to have recent pages displayed instead of posts?
<?php
class Alizee_Recent_Posts extends WP_Widget {
// constructor
function alizee_recent_posts() {
$widget_ops = array(‘classname’ => ‘alizee_recent_posts_widget’, ‘description’ => __( ‘Display your site’s recent posts with thumbnails.’, ‘alizee’) );
parent::WP_Widget(false, $name = __(‘Alizee: Recent Posts’, ‘alizee’), $widget_ops);
$this->alt_option_name = ‘Alizee_Recent_Posts_widget’;add_action( ‘save_post’, array($this, ‘flush_widget_cache’) );
add_action( ‘deleted_post’, array($this, ‘flush_widget_cache’) );
add_action( ‘switch_theme’, array($this, ‘flush_widget_cache’) );
}// widget form creation
function form($instance) {// Check values
$title = isset( $instance[‘title’] ) ? esc_attr( $instance[‘title’] ) : ”;
$number = isset( $instance[‘number’] ) ? absint( $instance[‘number’] ) : 5;
$show_date = isset( $instance[‘show_date’] ) ? (bool) $instance[‘show_date’] : false;
?><p>
<label for=”<?php echo $this->get_field_id(‘title’); ?>”><?php _e(‘Title’, ‘alizee’); ?></label>
<input class=”widefat” id=”<?php echo $this->get_field_id(‘title’); ?>” name=”<?php echo $this->get_field_name(‘title’); ?>” type=”text” value=”<?php echo $title; ?>” />
</p><p><label for=”<?php echo $this->get_field_id( ‘number’ ); ?>”><?php _e( ‘Number of posts to show:’, ‘alizee’ ); ?></label>
<input id=”<?php echo $this->get_field_id( ‘number’ ); ?>” name=”<?php echo $this->get_field_name( ‘number’ ); ?>” type=”text” value=”<?php echo $number; ?>” size=”3″ /></p><p><input class=”checkbox” type=”checkbox” <?php checked( $show_date ); ?> id=”<?php echo $this->get_field_id( ‘show_date’ ); ?>” name=”<?php echo $this->get_field_name( ‘show_date’ ); ?>” />
<label for=”<?php echo $this->get_field_id( ‘show_date’ ); ?>”><?php _e( ‘Display post date?’, ‘alizee’ ); ?></label></p><?php
}// update widget
function update($new_instance, $old_instance) {
$instance = $old_instance;
$instance[‘title’] = strip_tags($new_instance[‘title’]);
$instance[‘number’] = strip_tags($new_instance[‘number’]);
$instance[‘show_date’] = isset( $new_instance[‘show_date’] ) ? (bool) $new_instance[‘show_date’] : false;
$this->flush_widget_cache();$alloptions = wp_cache_get( ‘alloptions’, ‘options’ );
if ( isset($alloptions[‘Alizee_Recent_Posts’]) )
delete_option(‘Alizee_Recent_Posts’);return $instance;
}function flush_widget_cache() {
wp_cache_delete(‘Alizee_Recent_Posts’, ‘widget’);
}// display widget
function widget($args, $instance) {
$cache = array();
if ( ! $this->is_preview() ) {
$cache = wp_cache_get( ‘Alizee_Recent_Posts’, ‘widget’ );
}if ( ! is_array( $cache ) ) {
$cache = array();
}if ( ! isset( $args[‘widget_id’] ) ) {
$args[‘widget_id’] = $this->id;
}if ( isset( $cache[ $args[‘widget_id’] ] ) ) {
echo $cache[ $args[‘widget_id’] ];
return;
}ob_start();
extract($args);$title = ( ! empty( $instance[‘title’] ) ) ? $instance[‘title’] : __( ‘Recent Posts’, ‘alizee’ );
/** This filter is documented in wp-includes/default-widgets.php */
$title = apply_filters( ‘widget_title’, $title, $instance, $this->id_base );$number = ( ! empty( $instance[‘number’] ) ) ? absint( $instance[‘number’] ) : 5;
if ( ! $number )
$number = 5;
$show_date = isset( $instance[‘show_date’] ) ? $instance[‘show_date’] : false;/**
* Filter the arguments for the Recent Posts widget.
*
* @since 3.4.0
*
* @see WP_Query::get_posts()
*
* @param array $args An array of arguments used to retrieve the recent posts.
*/
$r = new WP_Query( apply_filters( ‘widget_posts_args’, array(
‘posts_per_page’ => $number,
‘no_found_rows’ => true,
‘post_status’ => ‘publish’,
‘ignore_sticky_posts’ => true
) ) );if ($r->have_posts()) :
?>
<?php echo $before_widget; ?>
<?php if ( $title ) echo $before_title . $title . $after_title; ?>
<ul class=”list-group”>
<?php while ( $r->have_posts() ) : $r->the_post(); ?>
<li class=”list-group-item”>
<div class=”recent-post clearfix”>
<?php if ( has_post_thumbnail()) : ?>
<div class=”recent-thumb col-md-4″>
“><?php the_post_thumbnail(‘thumbnail’); ?>
</div>
<?php endif; ?>
<?php if ( has_post_thumbnail()) : ?>
<?php echo ‘<div class=”col-md-8″>’; ?>
<?php else : ?>
<?php echo ‘<div class=”col-md-12″>’; ?>
<?php endif; ?>
<h4>“><?php get_the_title() ? the_title() : the_ID(); ?></h4>
<?php if ( $show_date ) : ?>
<span class=”post-date”><i class=”fa fa-calendar”></i> <?php echo get_the_date(); ?></span></div>
<?php else : ?>
<?php echo ‘</div>’; ?>
<?php endif; ?>
</div><?php endwhile; ?>
<?php echo $after_widget; ?>
<?php
// Reset the global $the_post as this query will have stomped on it
wp_reset_postdata();endif;
if ( ! $this->is_preview() ) {
$cache[ $args[‘widget_id’] ] = ob_get_flush();
wp_cache_set( ‘Alizee_Recent_Posts’, $cache, ‘widget’ );
} else {
ob_end_flush();
}
}}
The blog I need help with is: (visible only to logged in users)
-
Your site is not hosted by wordpress.COM. It’s a wordpress.ORG install. I’m sorry but you are posting to the wrong support forum. We cannot help you here at wordpress.COM because that site is not hosted here and we do not provide support for sites we do not host.
WordPress.COM and WordPress.ORG are completely separate and have different username accounts, logins, features, run different versions of some themes with the same names, and have separate support documentation and separate support forums. Read the differences here http://en.support.wordpress.com/com-vs-org/
If you don’t have a username account at WordPress.ORG account, then click http://wordpress.org/support/ and register one on the top right hand corner of the page that opens, https://wordpress.org/support/register.php so you can post to the support forums there.
Resetting your WordPress.ORG password http://codex.wordpress.org/Resetting_Your_Password
WordPress.org support docs are at https://codex.wordpress.org/Main_Page
- The topic ‘How to show recent pages not posts’ is closed to new replies.