• На сайте установлен плагин для открытия новости в модальном окне вместо перехода на страницу.
    Плагин представляет из себя два файла — ajax-test.php и test.js
    Содержимое ajax-test.php:

    <?php
    add_action( 'wp_enqueue_scripts', 'ajax_test_enqueue_scripts' );
    function ajax_test_enqueue_scripts() {
    	wp_enqueue_script( 'test', plugins_url() . '/ajax-text/test.js', array('jquery'), '1.0', true );
    
    	wp_localize_script( 'test', 'posttest', array('ajax_url' => admin_url( 'admin-ajax.php' ) ));
    }
    
    add_action( 'wp_ajax_nopriv_post_test_it', 'post_test_it' );
    add_action( 'wp_ajax_post_test_it', 'post_test_it' );
    
    function post_test_it() {
    
    	$thisID = $_POST['post_id'];
    
    	$post_test = get_post( $thisID );
    
    	$imageID = get_post_thumbnail_id( $thisID );
    	$imageHTML = wp_get_attachment_image( $imageID, 'full');
    
    	$arr = array( $imageHTML, $post_test->post_title, $post_test->post_content );
    
    	if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
    		echo json_encode( $arr );
    	}
    	die();
    }

    Содержимое test.js:

    jQuery(document).ready(function($){
        		$('.click-modal').click(function(e){ // Что будет происходить по клику по ссылке
    
        			var post_id = $(e.target).parent().attr('id');
    
    				jQuery.ajax({
    					url : posttest.ajax_url,
    					type : 'post',
    					data : {
    						action : 'post_test_it',
    						post_id : post_id
    					},
    					success : function( response ) {
    
    						//alert(response)        
    
    						result_arr = eval( response );
    						$('.modalWindow').html('<div class="modalWindow_ContentWrapper"><div class="container clean-cornes clean-borders block-margins-top block-margins-bottom MainContent"><div class="row"><div class="col-md-11"><h1 class="clean-margins-top">' + result_arr[1] + '</h1></div><div class="col-md-1"><i class="fa fa-2x fa-close"></i></div></div><div class="row block-margins-top-15"><div class="col-md-4">' + result_arr[0] + '</div><div class="col-md-8"><p>' + result_arr[2] + '</p></div></div></div></div>' ); 
    
    	//'class' => 'col-md-12 clean-paddings img-responsive'					
    
    						$('.modalWindow img').addClass('col-md-12 clean-paddings img-responsive');
    						$('.modalWindow').fadeIn('fast');
    					}
    				});
    
        		});
    });
    
    jQuery(function($){
    			$(document).mouseup(function (e){ // событие клика по веб-документу
    				var div = $(".modalWindow"); // тут указываем класс элемента
    					if (!div.is(e.target) && div.has(e.target).length === 0) { // если клик был не по нашему блоку, и не по его дочерним элементам
    						div.fadeOut('slow'); // скрываем его
    						//div.html(''); // очистка
    						}
    					else
    					{
    						var div1 = $(".fa-close"); // тут указываем класс элемента
    							if ( div1.is(e.target) ) { div.fadeOut('slow'); } // скрываем его
    					}
    
    			});
    });

    В моем шаблоне (Zerif Lite) последние новости выводятся в файле latest-news.php, там я прописал код для того, чтобы ссылкам присваивался ID новости и передавался скрипту. В коде сраницы видно, что ID присваивается корректно. Но кликнув на миниатюре или заголовке новости, окно не открывается.
    Помогите разобраться, в чем причина, мне не хватает знаний, чтобы найти проблему.

  • Тема «Текст новости во всплывающем окне. На помощь» закрыта для новых ответов.