0

I used the ACF plugin to display custom post type( history ) there I add a custom field for button and button link. Now I create a shortcode of history post type but I don't know how I can add button link that I used in custom fied please solve this here my code :

add_shortcode( 'history_shortcodes', 'history_shortcodes_post_type' );
    function history_shortcodes_post_type(){
        $args = array(
            'post_type' => 'history',
            'post_status' => 'publish'
        );

        $string = '';
        $h_query = new WP_Query( $args );
        if( $h_query->have_posts() ){
            $string .= '<div class="main_history">';
            while( $h_query->have_posts() ){
                $h_query->the_post();

                $h_button_field = get_field('history_button_title'); // used to display the custom field 
                if( !empty($h_button_field) ): endif;
                $h_link = get_field('history_button_url'); // used to display the custom field 
                if( $h_link ):  endif;

                $string .= '<div class="col-sm-6">' . '<div class="single_history_img">' . get_the_post_thumbnail() . '</div>' . '</div>' . '<div class="col-sm-6">' . '<div class="single_history_content">' . '<div class="head_title">' . '<h2>' . get_the_title() . '</h2>' . '</div>' . '<p>' . get_the_content() . '</p>' . '<a href="" class="btn btn-lg">' . $h_button_field . '</a>' . '</div>' . '</div>';

            }
            $string .= '</div>';
        }
        wp_reset_postdata();
        return $string;
    }
  • I don't know why can't you get $h_link in your anchor tag.. Can you please first vardump the value of $h_button_field and $h_link – sagar Aug 27 at 7:47
  • I try to add this in anchor tag '<a href="$h_link" class="btn btn-lg">' but it not working, i dont know the right way to add this – ruby Aug 27 at 8:14
0

Try this I have recorrected your code, if you have successfully retrieved those two variables

 $string = '';
$h_query = new WP_Query( $args );
if( $h_query->have_posts() ){
    $string .= '<div class="main_history">';
    while( $h_query->have_posts() ){
        $h_query->the_post();

        $h_button_field = get_field('history_button_title'); // used to display the custom field 
        if( !empty($h_button_field) ): endif;
        $h_link = get_field('history_button_url'); // used to display the custom field 
        if( $h_link ):  endif;

        $string .= '<div class="col-sm-6">' . '<div class="single_history_img">' . get_the_post_thumbnail() . '</div>' . '</div>' . '<div class="col-sm-6">' . '<div class="single_history_content">' . '<div class="head_title">' . '<h2>' . get_the_title() . '</h2>' . '</div>' . '<p>' . get_the_content() . '</p>' . '<a href="'.$h_link.'" class="btn btn-lg">' . $h_button_field . '</a>' . '</div>' . '</div>';

    }
    $string .= '</div>';
}
wp_reset_postdata();
return $string;

}

  • Oh wow its working, Thank you so much sir for this. – ruby Aug 27 at 9:03
  • Can you please that as correct an upvote the answer – sagar Aug 28 at 10:30
  • I upvote this sir – ruby Aug 28 at 12:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.