Пользовательская структура постоянной ссылки мешает моей функции jQuery / AJAX

Я использую плагин для постоянных ссылок пользовательского типа сообщений, чтобы установить пользовательскую структуру для мои постоянные ссылки, использующие только настройки / общие в админке Wordpress.

Я использую настраиваемую структуру постоянных ссылок:

/%postname%/%product_category%/

Кроме того, у меня на странице single-CPT.php есть тег select, который запускает некоторые действия jquery / ajax. Когда я удаляю настраиваемую структуру постоянных ссылок, которая автоматически активирует структуру постоянных ссылок по умолчанию, все работает как шарм. Но после активации вышеуказанной структуры DIV, который должен отображать результаты, возвращенные jquery / ajax, странным образом встраивает всю страницу.

Мой код jquery:

$('select.select').change(function(e) {

    e.preventDefault(); 
    var value = $('select.select option:selected').val(); 

    create_ayat_selectCPT(value); // AJAX function


}) 

Большое спасибо за помощь, 2 дня копаюсь, чтобы найти решение.

Обратите внимание, что на своем веб-сайте я использую стандартные типы сообщений.

Изменить: принимая во внимание ответ Деймона, структура постоянной ссылки влияет на поведение функции jquery / ajax. Фактически, если я перейду на /%product_category%/%postname%/, вызов Ajax будет выполнен, но безуспешно.

Результат: у меня действительно есть предупреждение с сообщением об ошибке.

Функция jquery / ajax:

function create_ayat_selectCPT(str) 
{

            $.ajax({
                    type: "GET",
                    url: "wp-admin/admin-ajax.php",
                    dataType: 'html',
                    data: ({ action: 'createAyatSelectCPT', id: str}),
                    success: function(data){

                    $('#second-select').html(data);

                    },
                    error: function(data)  
                    {  
                    alert("Your browser broke create ayat  cpt select!");
                    return false;
                    }  


                }); //ajax

    return false;
}

В functions.php:

function createAyatSelectCPT() {

$ca=$_GET['id']; 

?>
<form method="post" action="">  


            <select class="select2" id="selectid"> 

                            <?php

                            $my_query = new WP_Query();

                            $args = array(
                                    'post_type' => 'product',
                                    'tax_query' => array(
                                        array(
                                            'taxonomy' => 'product_category',
                                            'terms' => array($ca) 
                                        )
                                    )
                                );


                            $my_query->query($args);


                            if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post(); 

                               ?>
                                        <option value="<?php the_ID();?>"><?php the_title(); ?></option>
                                <?php

                            endwhile;
                            endif;

            wp_reset_query();
            die();  
?>

</select>
</form>

<?php
}


add_action('wp_ajax_createAyatSelectCPT', 'createAyatSelectCPT');
add_action('wp_ajax_nopriv_createAyatSelectCPT', 'createAyatSelectCPT'); 

Соответствующий HTML-тег, который необходимо изменить:

<div id="second-select">...</div>

Изменить 2 после установки Firebug:

404 Not Found File: http://localehost.com/enc/products/stuff/stuff/wp-admin/admin-ajax.php?action=createAyatSelectCPT&id=132

Тогда проблема исходит из местоположения admin-ajax.php. этого файла нет в этом месте. Таким образом, новая структура постоянных ссылок требует, чтобы я изменил путь к admin-ajax.php в моем файле сценария jquery.


person Adib Aroui    schedule 22.04.2013    source источник


Ответы (1)


Как узнать, какая функция портит div?

Ваш код jquery / ajax меняет div и т. Д.? Если да, можете ли вы предоставить нам соответствующий фрагмент кода?

Кроме того, происходит ли это, когда вы используете пользовательские постоянные ссылки "/% postname% /% product_category% /" или любые другие пользовательские ссылки.

Попробуйте использовать плагин Firebug и предоставьте нам немного дополнительной информации, чтобы мы могли помочь вам быстро и эффективно решить эту проблему. Скриншоты тоже помогут.

Загрузите Firebug: http://getfirebug.com/

person Damon    schedule 22.04.2013
comment
спасибо за ваш быстрый отклик, я буду следовать вашим инструкциям и вернусь сюда с необходимой информацией. еще раз спасибо. - person Adib Aroui; 22.04.2013
comment
Вы задаете умные вопросы, я пытался изменить структуру на другую, и теперь у меня другое странное поведение. +1 голос за. а затем я вернусь сюда, чтобы отредактировать всю необходимую вам дополнительную информацию. tnx - person Adib Aroui; 22.04.2013
comment
Я установил Firebug, и это очень полезный инструмент. Я отредактировал свой пост с сообщением Firebug. - person Adib Aroui; 23.04.2013
comment
Спасибо, ваш совет ценный - person Adib Aroui; 23.04.2013
comment
@whiteletters и пробелы, смогли ли вы выяснить, что не так, используя firebug? - person Damon; 24.04.2013