• Легковесный интернет-магазин с Яндекс-кассой?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Ответ написан
    Комментировать
  • Легковесный интернет-магазин с Яндекс-кассой?

    Sanes
    @Sanes
    Не то, чтобы простейший.
    Если нет времени заморачиваться с напильниками, то CS-Cart.
    Есть бесплатная версия и отличная документация на русском в видеоформате.
    Ответ написан
    6 комментариев
  • Как сделать разные single.php для AJAX вывода через шорткод, и остальных страниц?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    crazyASD: вам не нужно выводить аяксом весь индекс целиком. Есть 2 пути.

    Если вы используете вордпресовский аякс (через функцию, которая подключена на wp_ajax_ и/или wp_ajax_nopriv_, как положено) - тогда в этой функции получите нужный пост с помощью get_post() и отформатируйте как надо, результирующий хтмл отдайте с помощью wp_send_json_success().

    Если вариант 1 непонятен (хотя он правильный и корректный), если вы аяксом дергаете непосредственно урл индекса, вспомните, что аякс-запрос позволяет получать не только страницу по урл целиком, но и ее часть, если указать #element_id то будет получен только контент этого элемента.
    Ответ написан
    Комментировать
  • Как сделать разные single.php для AJAX вывода через шорткод, и остальных страниц?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    if ( !is_front_page() || !is_home() ){ }

    Попытка номер два. Предположим, что главная страница имеет в себе код выввода самой себя, а также дополнительную логику для GET запросов через AJAX:
    $my_command = ''; 
    $my_post_id = '';
    
    if (!empty($_GET)) {
    	foreach ($_GET as $key => $value) {
    	    if ( !empty($key) && !empty($value) ) {
    			$my_command = $key;
    			$my_post_id = $value;
    	    }
    	}
    }
    
    //Не забудьте обезвредить все, что злоумышленники передадут в GET запрос
    
    if ($my_command == 'get_post_content_by_id' && $my_post_id != '') {
    	
    	//Здесь выводим информацию на основе полученого GET запроса, например:
    	$content_all = get_post($my_post_id);
    	$content = $content_all->post_content;
    	$content = apply_filters('the_content', $content);
    	$content = str_replace(']]>', ']]&gt;', $content);
    	echo $content;
    
    } else if ($my_command == 'get_post_excerpt_by_id' && $my_post_id != '') {
    	
    	//Другой запрос
    	$excerpt_all = get_excerpt($my_post_id);
    	$excerpt = $excerpt_all->post_excerpt;
    	echo $excerpt;
    	
    } else {
    	//Если нет запроса, выводим обычное содержание страницы
    	get_header();
    	//...
    	get_footer();
    }

    Запрос:
    jQuery.get( "/_my_page_url_/", { get_post_content_by_id: "123"} );


    Но я бы делал как пишет далее crazyASD: ...через wp_ajax_ и/или wp_ajax_nopriv_, как положено...
    Ответ написан
    7 комментариев