punkts.php 3.67 KB
<?php 
function fenix_punkts ($atts, $content)
    {
        $atts = shortcode_atts(
            array(
                'category_name' => '',
                'title'         => '',
                'id'            => ''
            ),
            $atts,
            'fenix_punkts'
        );

        $out = '';

        if ($atts['category_name']!=='')
            {
                $out_parts = array(
                    'btns'        => '',
                    'tabs'        => ''
                );
                $args = array(
                    'numberposts'   => -1,
                    'category_name' => $atts['category_name'],
                    'post_type'     => 'post',
                    'order'         => 'ASC'
                );
                $posts = get_posts($args);
                foreach($posts as $key=>$post)
                    {   
                        setup_postdata( $post );
                        $out_parts['btns'].= '<button class="nav-link border-top'.($key===0?' active':'').'" id="pills-'.$key.'-tab" data-bs-toggle="pill" data-bs-target="#pills-'.$key.'" type="button" role="tab" aria-controls="pills-'.$key.'" aria-selected="'.($key===0?'true':'false').'">'.((int)$key + 1).'.  '.($post->post_excerpt==''?$post->post_title:$post->post_excerpt).'</button>';

                        $out_parts['tabs'].= ''.

                            '<div class="tab-pane fade '.($key===0?' show active':'').'" id="pills-'.$key.'" role="tabpanel" aria-labelledby="pills-'.$key.'-tab">'.
                                '<div class="row flex-md-row-reverse">'.
                                    (
                                        has_post_thumbnail($post->ID)?
                                            '<div class="col-12 col-md-6">'.
                                                '<img src="'.get_the_post_thumbnail_url($post->ID, 'full').'" class="img-fluid rounded-4 mb-2 mb-md-0" />'.
                                            '</div>'.
                                            '<div class="col-12 col-md-6">':
                                            '<div class="col-12">'
                                    ).    
                                        '<h5 class="text-color-3 mb-3">'.$post->post_title.'</h5>'.
                                        $post->post_content.
                                    '</div>'.
                                '</div>'.
                            '</div>';
                    }
                wp_reset_postdata();
                unset($key, $post, $posts, $args);

                $out = ''.
                    '<!--6 основных пунктов открытия клиник-->'.
                    '<div id="'.$atts['id'].'" class="fenix_punkts shadow-sm '.$atts['category_name'].'">'.
                        '<div class="container">'.
                            '<div class="row">'.
                                '<div class="col-12 pt-3 pt-md-5">'.
                                    '<h1>'.$atts['title'].'</h1>'.
                                    '<div class="nav nav-pills mb-3 border-bottom" id="pills-'.$atts['id'].'-tab" role="tablist">'.
                                        $out_parts['btns'].
                                    '</div>'.
                                    '<div class="tab-content p-3" id="pills-'.$atts['id'].'-tabContent">'.
                                        $out_parts['tabs'].
                                    '</div>'.
                                '</div>'.
                            '</div>'.
                        '</div>'.
                    '</div>';
                unset($out_parts);
            }
        return $out;
    }
add_shortcode('fenix_punkts', 'fenix_punkts');