Погрузка php файла из шаблона через javascript
-
Друг сделал скрипт, который по условию подгружает php файл с кодом вывода поста.
К сожалению, код в шаблоне запись выводить не хочет, пустое место. В чем особенность при подгрузке php через js в темах wordpress?
-
Выложите код скрипта, а то сложно судить о проблеме.
Друг сделал скрипт, который по условию подгружает php файл с кодом вывода поста.
Задам глупый вопрос — чем не угодил стандартный способ постинга? Прямо текст (а не код) поста писать (вставлять) в редактор?.
Одностраничный сайт с использованием ajax. Некоторые страницы подгружаются по клику. В файле index.php подключен следующий скрипт (код ниже). Есть кнопка урл которой вида «#!page1». По клику на кнопку в нужном месте файла index.php подгружается файл page.html. B подгружается успешно. Сейчас возникла у меня необходимость подгружать файл page.php вместо page.html, который содержит код вывода определенного поста из WP (код ниже):
JS
//* checking url window.onload = function() { offsets['slide_3'] = $('#slide_3').offset(); offsets['slide_2'] = $('#slide_2').offset(); //* if user come from hashed link if(window.location.hash!='') { var hash = window.location.hash.split('#').pop().replace(/\!/g, ''); //* link to slide var hashInArray = $.inArray(hash, mainParams['slidesHashes']); if(hashInArray>-1) { mainParams['currentSlide'] = hashInArray-1; reColorLinks(false); } //* link to personal hashInPersonalArray = $.inArray(hash, mainParams['personalHashes']); if(hashInPersonalArray>-1) { $('html, body').scrollTop(offsets['slide_3'].top); //* load personal var loaded = 0; for(var i=0; i<mainParams['personalHashes'].length;i++) { $('#sotr_'+(i+1)).load(mainParams['personalBasePath']+mainParams['personalHashes'][i]+'.'+mainParams['filesExtension']+' .wrap', {}, function() { loaded++; if(loaded==mainParams['personalHashes'].length) { reCalcHeights(); slide32sep = $('#slide_3_2 .sep'); mainParams['personalLoaded'] = true; mainParams['personalSlideIndex'] = hashInPersonalArray+1; Cufon.replace('#slide_3_2 div.page-wrap h3, '+'#slide_3_2 h2.head-page-title', { fontFamily: 'Agl' }); $('body').addClass('noscroll'); mainParams['slideIndex'] = 3; reColorLinks(false); var offst2 = 0; for(var k=1; k<=hashInPersonalArray;k++) { offst2 += parseInt($('#slide_3_2 #sotr_'+k).height()); } $('#slide_3_2').scrollTop(offst2); $('.mainSlide').css({marginLeft: '-100%'}); $('#slide_3_2').css({left: '0%'}); } }); $('#sotr_'+(i+1)).attr('rel', mainParams['personalHashes'][i]); } }
page.php
<?php $args = array( 'post_type' => 'services', 'p' => 149 ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); ?> <div class="wrap"> <div class="wrap_inner"> <h2 class="head-page-title h-p-blue"><?php the_title();?></h2> <div class="u-wrap"> <p><?php if ( !empty( $post->post_excerpt ) ) : the_excerpt(); else : false; endif;?> </p> </div> <?php the_content(); ?> </div> </div> <?php endwhile; ?>
index.php
<li class="uslugi-list uslugi-l-6"><a href="#!page" class="onestring navToService" rel="6">Страница</a></li>
Задам глупый вопрос — чем не угодил стандартный способ постинга? Прямо текст (а не код) поста писать (вставлять) в редактор?.
В редактор в админке ВП вставляется текст, просто был создан специальный шаблон (код выше), который выводит нужный пост. Это было сделано в связи с особой архитектурой сайта (он на AJAX) и использованием пользовательских типов контента.
Попробуйте в самом начале файла page.php прописать
header('Content-Type: text/html; charset=utf-8'); require($_SERVER['DOCUMENT_ROOT'].'/wp-load.php');
Вы нереально крут. Спасибо, помогло 🙂
С уважением, Максим.
Всегда пожалуйста.
- Тема «Погрузка php файла из шаблона через javascript» закрыта для новых ответов.