Skip to content

Instantly share code, notes, and snippets.

@jomurgel
Last active February 6, 2019 00:14
Show Gist options
  • Save jomurgel/14ff74a7892b52dbd382b35ac4a793db to your computer and use it in GitHub Desktop.
Save jomurgel/14ff74a7892b52dbd382b35ac4a793db to your computer and use it in GitHub Desktop.
Setup and Delete Transient for Query
<?php
/**
* Delete Career transient on post save.
*
* @since 1.0.0
* @author jomurgel
*/
function _delete_default_blog_post_transient() {
delete_transient( 'default_blog_posts' );
}
add_action( 'delete_category', '_delete_default_blog_post_transient' );
add_action( 'save_post', '_delete_default_blog_post_transient' );
<?php
/**
* Get default blog river, paginated.
*
* @author jomurgel
* @since 1.0.0
* @return array $data new wp query.
*/
function _get_default_blog_posts() {
// Set transient key.
$transient_key = 'default_blog_posts';
$data = get_transient( $transient_key );
if ( false !== $data && ! isset( $_GET['delete-transients'] ) ) { // WPCS: CSRF OK.
return $data;
}
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : get_query_var( 'page' ) ? get_query_var( 'page' ) : 1;
// Set up query args.
$args = array(
'post_type' => 'post',
'posts_per_page' => get_option( 'posts_per_page' ),
'paged' => $paged,
);
// Run query.
$data = new WP_Query( $args );
// Set transient, and expire after a max of 12 hours.
set_transient( $transient_key, $data, 12 * HOUR_IN_SECONDS );
return $data;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment