• Здравствуйте, уважаемые форумчане!
    Опишу свою проблему, может кто знает ответ.
    На сайте есть рубрика «Финансовое право», именно для этой рубрики я хочу выводить калькулятор в конце каждой статьи. Гуглил, ничего подходящего не смог найти.
    Может есть какие-то плагины или ручной код.
    Заранее спасибо!

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Модератор Юрій

    (@yube)

    Затруднения с условием «для одной категории» или вообще с выводом чего-то после контента записи?

    Вывожу блок с калькулятором в конце текста с помощью плагина AdPlacer’s. Это без проблем. Не знаю, как вывести всё это дело только в одной категории.

    Коль скоро речь идёт о материалах рубрики. то это записи. Обычно они выводятся в шаблоне single.php

    В том месте шаблона, где выводится контент — текст записи, сразу после стоит вставить подобный код:

    <?php if ( in_category(33) ): ?>
      тут выводите ваш калькулятор для рубрики с id=33
    <?php endif(); ?>

    Очевидно, у вас id рубрики может быть иным. Вставить всё это следует сразу после вывода <?php the_content(); ?>

    Вставляю в single.php после <?php the_content(); ?>

    <?php if ( in_category(52) ): ?>
      тут выводите ваш калькулятор для рубрики финансовое
    <?php endif(); ?>

    К сожалению валится 500 ошибка =(((

    Если не сложно, приведите весь текст вашего single.php.

    Не получается, сайт зависает = (
    Возможно код в function.php мешает.

    // Вставляем любой код выбранного после абзаца Вставляем РТБ блок после 19 абзаца
    add_filter( 'the_content', 'wpse_ad_content' );
    function wpse_ad_content( $content ) {
            if( !is_single() )
                return $content;
                $paragraphAfter = 19; //Введите номер абзаца, после которого вставляем.
                $content = explode ( "</p>", $content );
                $new_content = '';
                    for ( $i = 0; $i < count ( $content ); $i ++ ) {
                        if ( $i == $paragraphAfter ) {
                        $new_content .= '<div>[ads-pc-2] [ads-mob-2]																					
    									</div>';
                        }
                $new_content .= $content[$i] . "</p>";
                }
                return $new_content;
        }
    // Вставляем любой код выбранного после абзаца Вставляем РТБ блок после 1 абзаца
    add_filter( 'the_content', 'wpse_ad_content1' );
    function wpse_ad_content1( $content ) {
            if( !is_single() )
                return $content;
                $paragraphAfter = 1; //Введите номер абзаца, после которого вставляем.
                $content = explode ( "</p>", $content );
                $new_content = '';
                    for ( $i = 0; $i < count ( $content ); $i ++ ) {
                        if ( $i == $paragraphAfter ) {
                        $new_content .= '<div>[ads-pc-3] [ads-mob-3]																					
    									</div>';
                        }
                $new_content .= $content[$i] . "</p>";
                }
                return $new_content;
        }

    Судя по всему, приведённый вами код добавляет те или иные блоки рекламы внутрь записей, после определённого (19 в вашем случае) абзаца. Только это не должно влиять на то, что выводится после вызова функции the_content(). Во всяком случае, приведённый вами кусок кода из functions.php влияет непосредственно на то, что выводится функцией the_content(). Ещё раз прошу показать вас текст файла single.php.

    <?php
    get_header();
    echo do_shortcode('[ads-pc-1]');
    echo do_shortcode('[ads-mob-1]');
    $related_posts_html= $show_other_html= '';
    ?>
    <!-- CONTENT=====================================================  -->
    <section class="content">
        <div class="container">
            <div class="row">
    
                <div class="<?= content_class() ?>">
                    <div class="single_articel">
                        <div class="left_side_share">
                            <noindex><?= $wpmfc['social-area-2'] ?></noindex>
                        </div>
                        <div class="mb10">
                            <?php
                            if (function_exists('yoast_breadcrumb')) {
                                yoast_breadcrumb('<p id="breadcrumbs">', '</p>');
                            }
                            ?>
                        </div>
    
                        <?php
                        if (have_posts()) {
                            while (have_posts()) {
                                the_post();									
    							 
                                $this_post_id = get_the_ID();
                                $show_other_number = (is_numeric($wpmfc['show_other_number']) && $wpmfc['show_other_number'] > 0 && $wpmfc['show_other_number'] <= 3) ? $wpmfc['show_other_number'] : 3;
                                $show_other_title = $wpmfc['show_other_title'] ? $wpmfc['show_other_title'] : 'Рекомендуем посмотреть';                           
    							$post_cat_arr = get_categoriest_post($this_post_id);
    							//POST SEARCH COOUNTER
    							setPostViews($this_post_id);
    							
                                if (get_the_tag_list()) {
                                    foreach (wp_get_post_tags($this_post_id) as $tag) {
                                        $post_tag_arr[] = $tag->term_id;
                                    }
    							}
    							
    							if($post_tag_arr){
    								$query= new WP_Query(array('tag__in' => $post_tag_arr, 'post__not_in' => array($this_post_id), 'posts_per_page' => $show_other_number));
                                    if ($query->have_posts()) {
                                        while ($query->have_posts()) {
                                            $query->the_post();
    
                                           $related_posts[]= array('post_id'=> get_the_ID, 'post_title'=> get_the_title(), 'post_excerpt'=> get_the_excerpt(), 'post_thumbnail'=> get_post_image(get_the_ID(), 'slider_image_mini'), 'post_permalink'=> get_the_permalink());									
    									}
                                    } else {
                                        // Постов не найдено
                                    }
                                    wp_reset_query();
                                    wp_reset_postdata();								
    							}
    									
    							//related posts
    							if($related_posts){
    								foreach($related_posts as $related_post){
                                        $related_posts_html.= '
    										<div class="col-lg-4 col-md-6 col-sm-6 col-xs-12">
    											<div class="sm_post_box">
    												<div class="post_thumbnail_wrap pull-left">
    													<a href="' . $related_post['post_permalink'] . '">' . $related_post['post_thumbnail'] . '</a>
    												</div>
    												<div class="post_title">
    													<a href="' . $related_post['post_permalink'] . '">' . $related_post['post_title'] . '</a>
    												</div>
    											</div>
    										</div>
    									';								
    								}								
    							}
    							
    							//show other posts
    							if(!$wpmfc['show_other_hide']){
    								if($wpmfc['show_other_type'] == 'tag'){
    									$show_other_posts= $related_posts;
    								} else {
    									$query = new WP_Query(array('category__in' => $post_cat_arr, 'post__not_in' => array($this_post_id), 'posts_per_page' => $show_other_number));
    									if ($query->have_posts()) {
    										while ($query->have_posts()) {
    											$query->the_post();
    
    											$show_other_posts[]= array('post_id'=> get_the_ID, 'post_title'=> get_the_title(), 'post_excerpt'=> get_the_excerpt(), 'post_thumbnail'=> get_post_image(get_the_ID(), 'slider_image_mini'), 'post_permalink'=> get_the_permalink());									
    										}
    									} else {
    										// Постов не найдено
    									}
    									wp_reset_query();
    									wp_reset_postdata();								
    								}
    
    								if($show_other_posts){
    									foreach($show_other_posts as $show_other_post){
    										$show_other_html.= '
    											<div class="sm_post_box">
    												<div class="post_thumbnail_wrap pull-left">
    													<a href="' . $show_other_post['post_permalink'] . '">' . $show_other_post['post_thumbnail'] . '</a>
    												</div>
    												<div class="post_title">
    													<a href="' . $show_other_post['post_permalink'] . '">' . $show_other_post['post_title'] . '</a>
    												</div>
    											</div>
    										';									
    									}
    									
    									if ($show_other_html) {
    										$show_other_html= '
    											<div id="show_other" class="show_other">
    												<div class="show_other_show"><i class="fa fa-angle-left"></i></div>
    												<div class="show_other_close">×</div>
    												<div class="show_other_title">' . $show_other_title . '</div>
    												<div class="show_other_content">
    													' . $show_other_html . '
    												</div>
    											</div>'
    										;
    									}
    								}	
    							}
    				
                                ?>
    
    						<!-- CONTENT-->
                                <h1 class="widgettitle"><?= get_the_title() ?></h1>
    
                                <div class="main_text mb30">
    								<?php if($wpmfc['banner_content_before']) { ?>
    									<div class="banner_content_wrap banner_content_before">
    										<?=$wpmfc['banner_content_before']?>
    									</div>
    								<?php } ?>
    								<?php if($wpmfc['post_show_thumb']) { ?>
    									<div class="post_main_thumbnail"><?= get_post_image($this_post_id, 'post_thumb_content') ?></div>
    								<?php } ?>
    								<?php the_content(); ?>                              
    								<?php if($wpmfc['banner_content_after']) { ?>
    									<div class="banner_content_wrap banner_content_after">
    										<?=$wpmfc['banner_content_after']?>
    									</div>
    								<?php } ?>
                                </div>
    						<!-- /CONTENT-->
    						
    						<!-- SOCIAL-->
                                <?php if ($wpmfc['social-area-1']) { ?>
                                    <!-- Shara_btns -->
                                    <div class="mb30">
                                        <span>Поделиться:</span>
                                        <noindex>
    										<div class="after_article_soc_buttons">
                                                <?= $wpmfc['social-area-1'] ?>
                                            </div>
    									</noindex>
                                    </div>
                                <?php } else {
                                    ?>
                                    <div class="mb30">
                                        <span><?= $wpmfc['social_bottom_text'] ?>:</span>
                                        <noindex><div class="after_article_soc_buttons">
                                                <div class="social-likes" data-url="http://<?= $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI] ?>">
                                                    <div class="facebook" title="Поделиться ссылкой на Фейсбуке">Facebook</div>
                                                    <div class="twitter" title="Поделиться ссылкой в Твиттере">Twitter</div>
                                                    <div class="vkontakte" title="Поделиться ссылкой во Вконтакте">Вконтакте</div>
                                                    <div class="odnoklassniki" title="Поделиться ссылкой в Одноклассниках">Одноклассники</div>
                                                    <div class="plusone" title="Поделиться ссылкой в Гугл-плюсе">Google+</div>
                                                </div>
                                            </div></noindex>
                                    </div>
                                    <?php
                                }
                                ?>
    						<!-- /SOCIAL-->
    						
    						<!-- PREV|NEXT POSTS-->
                                <?php if ($wpmfc['nav_post_show']) { ?>
                                    <ul class="post_controller list-inline">
                                        <?php previous_post_link('<li class="left_control_button">%link</li>', '<span>Предыдущая запись</span>%title', true); ?>
                                        <?php next_post_link('<li class="right_control_button">%link</li>', '<span>Следующая запись</span>%title', true); ?>
                                    </ul>
                                <?php } ?>
    						<!-- PREV|NEXT POSTS-->
    						
    						<!-- RELATED POSTS-->
    							<?php if($related_posts_html) { ?>
    								<div class="widget mb50 category_list_seven category_list_six native_related">
    									<h2 class="widgettitle">Похожие статьи</h2>
    									<div class="row">						
    										<?php echo $related_posts_html; ?>
    									</div>
    								</div>
    							<?php } ?>
    						<!-- /RELATED POSTS-->
    						
    						<!-- SUBSCRIBE -->
                                <?php if ($wpmfc['subscription_block_hide_'] == 0&& is_active_sidebar('subscript')) { ?>
    								<noindex>
    									<div class="subscribe_box" id="wysija">
    										<div class="subscribe_box_pic"></div>
    										<div class="text">
    											<?php
    											$vk_subscribe_box = $wpmfc['vk'] ? '<a href="' . $wpmfc['vk'] . '">В Контакте</a>, ' : '';
    											$odnoclassniki_subscribe_box = $wpmfc['odnoclassniki'] ? '<a href="' . $wpmfc['odnoclassniki'] . '">Одноклассниках</a>, ' : '';
    											$facebook_subscribe_box = $wpmfc['facebook'] ? '<a href="' . $wpmfc['facebook'] . '">Facebook</a>, ' : '';
    											$google_plus_subscribe_box = $wpmfc['google_plus'] ? '<a href="' . $wpmfc['google_plus'] . '">Google Plus</a>, ' : '';
    											$twitter_subscribe_box = $wpmfc['twitter'] ? '<a href="' . $wpmfc['twitter'] . '">Twitter</a>, ' : '';
    											?>
    
    											<p>
    												<?= $wpmfc['article_subsctibe_text_1']? $wpmfc['article_subsctibe_text_1']: ''; ?>
    												<?= $vk_subscribe_box . $odnoclassniki_subscribe_box . $facebook_subscribe_box . $google_plus_subscribe_box . $twitter_subscribe_box ?>
    											</p>
    											<span>Подписывайтесь на обновления по E-mail:</span>
    											<?php dynamic_sidebar('subscript'); ?>
    											<?= $wpmfc['article_subsctibe_text_2']? '<p>'.$wpmfc['article_subsctibe_text_2'].'</p>': ''; ?>
    										</div>
    									</div>
    								</noindex>
    								<?php } ?>
    						<!-- SUBSCRIBE -->	
    						
    						<!-- COMMENTS -->
                                <?php
                                $real_comments_num = get_comments_number();
    
                                if ($real_comments_num == 0) {
                                    $real_comments_num = 'Нет';
                                    $comment_text = 'комментариев';
                                } elseif ($real_comments_num > 9 && $real_comments_num < 21) {
                                    $comment_text = 'Комментариев';
                                } else {
                                    $comment_num = $real_comments_num > 10 ? substr($real_comments_num, -1) : $real_comments_num;
    
                                    if ($comment_num == '0' || $comment_num > '4') {
                                        $comment_text = 'Комментариев';
                                    } elseif ($comment_num > '1' && $comment_num < '5') {
                                        $comment_text = 'Комментария';
                                    } elseif ($comment_num == '1') {
                                        $comment_text = 'Комментарий';
                                    }
                                }
                                ?>
    
                                <div class="widgettitle comment_ttl"><?= $real_comments_num . ' ' . $comment_text ?></div>
    
                                <ul class="commentlist">
                                    <?php
                                    // Получаем комментарии поста с ID XXX из базы данных 
                                    $comments = get_comments(array(
                                        'post_id' => $this_post_id,
                                        'status' => 'approve' // комментарии прошедшие модерацию
                                    ));
    
                                    // Формируем вывод списка полученных комментариев
                                    wp_list_comments(array(
                                        //'per_page' => 3, // Пагинация комментариев - по 10 на страницу
                                        //'reverse_top_level' => false // Показываем последние комментарии в начале
                                        'type' => 'comment',
                                        'callback' => 'mytheme_comment',
                                            ), $comments);
                                    ?>
                                </ul>
                                <div class="text-center"><?php paginate_comments_links(); ?></div>
                                <?php
                                $comment_args = array('fields' => apply_filters('comment_form_default_fields', array(
                                        'author' => '<p class="comment-form-author">' . '<label for="author"> Имя <span class="required">*</span></label> ' .
                                        '<input id="author" name="author" type="text" value="' . esc_attr($commenter['comment_author']) . '" size="30"' . $aria_req . ' /></p>',
                                        'email' => '<p class="commentator-email">' . '<label for="email"> E-mail <span class="required">*</span> </label> 
    															<input id="email" name="email" type="text" value="' . esc_attr($commenter['comment_author_email']) . '" size="30"' . $aria_req . ' />' . '</p>',
                                        'url' => '')),
                                    'comment_notes_after' => '',
                                    'comment_notes_before' => '<span>Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.</span>',
                                );
                                comment_form($comment_args);
                                ?>
    						<!-- /COMMENTS -->
    						
    							
    								
                                    <?php
                                
                            }
                        }
                        //getPostViews(get_the_ID());
                        ?>
                    </div>
                </div>
    
                <!-- ASIDE START -->
                <?php get_sidebar_right('sidebar_single'); ?>
                <!-- ASIDE END -->
            </div>
        </div>
    </section>
    
    <!-- RECOMENDED POSTS -->
    	<?php
    		echo $show_other_html;
    	?>
    <!-- /RECOMENDED POSTS -->
    
    <?php get_footer(); ?>
    
    <script>
        jQuery(document).ready(function ($) {
            //console.log($(document).width());
    
            if ($(document).width() < 1200) {
                $('.left_side_share').remove();
            } else {
                left_side_share_pos();
    
                $(window).resize(function () {
                    left_side_share_pos();
                });
            }
    
            $('.hide_left_side').click(function () {
                $(this).hide();
                $('.show_left_side').show();
                $('.left_side_share').css({'left': '-20px'});
            });
    
            $('.show_left_side').click(function () {
                $(this).hide();
                $('.hide_left_side').show();
                $('.left_side_share').css({'left': '25px'});
            });
    
            $('.current-post-ancestor').parents('li').each(function () {
                $(this).addClass('current-post-ancestor');
            });
        });
    
    </script>

    Весь ваш большой файл цитировать не буду, приведу лишь значимый кусок:\

    						<!-- CONTENT-->
                                <h1 class="widgettitle"><?= get_the_title() ?></h1>
    
                                <div class="main_text mb30">
    								<?php if($wpmfc['banner_content_before']) { ?>
    									<div class="banner_content_wrap banner_content_before">
    										<?=$wpmfc['banner_content_before']?>
    									</div>
    								<?php } ?>
    								<?php if($wpmfc['post_show_thumb']) { ?>
    									<div class="post_main_thumbnail"><?= get_post_image($this_post_id, 'post_thumb_content') ?></div>
    								<?php } ?>
    								<?php the_content(); ?>                              
    								<?php if($wpmfc['banner_content_after']) { ?>
    									<div class="banner_content_wrap banner_content_after">
    										<?=$wpmfc['banner_content_after']?>
    									</div>
    								<?php } ?>
    								
    								<?php if ( in_category(52) ) { ?>
    									//тут выводите ваш калькулятор для рубрики финансовое право
    									
    								<?php } ?>
    								
                                </div>
    						<!-- /CONTENT-->

    Так у вас выглядел код, когда вы пробовали предложенный вариант?

    Сделал как Вы написали. Промучился три часа и всё работает!!! Спасибо огромное!

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Тема «Вывод блока в конце текста в определенной рубрике» закрыта для новых ответов.