Navigation
This is archived content. Visit our new forum.

Tagged: 

  • Author
    Posts
  • #1152478
    LewisWallis
    Participant

    Hi there,

    I would like to add a ‘view post’ button below my recent posts. I will be using the ‘recent posts’ short code within a sidebar widget. I am using the renew stack.

    Please note: I had a very similar question a few weeks back which you answered brilliantly. That question (which you can see here) was, ‘how do I put a button below recent portfolio posts’. The answer you gave for that involved adding a child theme and then adding the below code to the functions.php file. So I’m assuming it is a very simple tweak of the below code so that it has the same affect on the recent posts and not just recent portfolio posts.

    Many thanks

    Lewis

    login details and url to follow this message

    // Updated Recent Post and Portfolio element
    // =============================================================================
    function updated_shortcode_recent_posts( $atts ) {
    extract( shortcode_atts( array(
    ‘id’ => ”,
    ‘class’ => ”,
    ‘style’ => ”,
    ‘type’ => ‘post’,
    ‘count’ => ”,
    ‘category’ => ”,
    ‘offset’ => ”,
    ‘orientation’ => ”,
    // ‘show_excerpt’ => ‘true’,
    ‘no_sticky’ => ”,
    ‘no_image’ => ”,
    ‘fade’ => ”
    ), $atts, ‘x_recent_posts’ ) );

    $allowed_post_types = apply_filters( ‘cs_recent_posts_post_types’, array( ‘post’ => ‘post’ ) );
    $type = ( isset( $allowed_post_types[$type] ) ) ? $allowed_post_types[$type] : ‘post’;

    $id = ( $id != ” ) ? ‘id=”‘ . esc_attr( $id ) . ‘”‘ : ”;
    $class = ( $class != ” ) ? ‘x-recent-posts cf ‘ . esc_attr( $class ) : ‘x-recent-posts cf’;
    $style = ( $style != ” ) ? ‘style=”‘ . $style . ‘”‘ : ”;
    $count = ( $count != ” ) ? $count : 3;
    $category = ( $category != ” ) ? $category : ”;
    $category_type = ( $type == ‘post’ ) ? ‘category_name’ : ‘portfolio-category’;
    $offset = ( $offset != ” ) ? $offset : 0;
    $orientation = ( $orientation != ” ) ? ‘ ‘ . $orientation : ‘ horizontal’;
    // $show_excerpt = ( $show_excerpt == ‘true’ );
    $no_sticky = ( $no_sticky == ‘true’ );
    $no_image = ( $no_image == ‘true’ ) ? $no_image : ”;
    $fade = ( $fade == ‘true’ ) ? $fade : ‘false’;

    $js_params = array(
    ‘fade’ => ( $fade == ‘true’ )
    );

    $data = cs_generate_data_attributes( ‘recent_posts’, $js_params );

    $output = “<div {$id} class=\”{$class}{$orientation}\” {$style} {$data} data-fade=\”{$fade}\” >”;

    $q = new WP_Query( array(
    ‘orderby’ => ‘date’,
    ‘post_type’ => “{$type}”,
    ‘posts_per_page’ => “{$count}”,
    ‘offset’ => “{$offset}”,
    “{$category_type}” => “{$category}”,
    ‘ignore_sticky_posts’ => $no_sticky
    ) );

    if ( $q->have_posts() ) : while ( $q->have_posts() ) : $q->the_post();

    if ( $no_image == ‘true’ ) {
    $image_output = ”;
    $image_output_class = ‘no-image’;
    } else {
    $image = wp_get_attachment_image_src( get_post_thumbnail_id(), ‘entry-cropped’ );
    $bg_image = ( $image[0] != ” ) ? ‘ style=”background-image: url(‘ . $image[0] . ‘);”‘ : ”;
    $image_output = ‘<div class=”x-recent-posts-img”‘ . $bg_image . ‘></div>’;
    $image_output_class = ‘with-image’;
    }

    if ( get_post_type() == ‘x-portfolio’ ) {
    $button = ‘<span class=”x-btn x-btn-square x-btn-regular x-btn-block”>View Investment</span>’;
    } else {
    $button = ”;
    }

    // $excerpt = ( $show_excerpt ) ? ‘<div class=”x-recent-posts-excerpt”><p>’ . preg_replace(‘/<a.*?more-link.*?<\/a>/’, ”, cs_get_raw_excerpt() ) . ‘</p></div>’ : ”;

    $output .= ‘
    . ‘<article id=”post-‘ . get_the_ID() . ‘” class=”‘ . implode( ‘ ‘, get_post_class() ) . ‘”>’
    . ‘<div class=”entry-wrap”>’
    . $image_output
    . ‘<div class=”x-recent-posts-content”>’
    . ‘<h3 class=”h-recent-posts”>’ . get_the_title() . ‘</h3>’
    . ‘<span class=”x-recent-posts-date”>’ . get_the_date() . ‘</span>’
    // . $excerpt
    . $button
    . ‘</div>’
    . ‘</div>’
    . ‘</article>’
    . ‘
    ‘;

    endwhile; endif; wp_reset_postdata();

    $output .= ‘</div>’;

    return $output;
    }

    add_action(‘init’, ‘apply_custom_shortcode_recent_posts’);
    function apply_custom_shortcode_recent_posts() {
    remove_shortcode( ‘x_recent_posts’ );
    add_shortcode( ‘x_recent_posts’, ‘updated_shortcode_recent_posts’ );
    }
    // =============================================================================

    #1152479
    LewisWallis
    Participant
    This reply has been marked as private.
    #1152847
    Paul R
    Moderator

    Hi Lewis,

    I went ahead and added it in the code.

    Kindly check on your end.

    http://phillipshawinvestments.co.uk/stock-market-fallout-continues/

    Thanks

    #1154027
    LewisWallis
    Participant

    Thanks very much.

    #1154033
    Nico
    Moderator

    Let us know how it goes.

    Thanks.

  • <script> jQuery(function($){ $("#no-reply-1152478 .bbp-template-notice, .bbp-no-topic .bbp-template-notice").removeClass('bbp-template-notice'); }); </script>