• Rozwiązano koryx

    (@koryx)


    Stworzyłem nową stronę dla której jako szablon dałem własny plik php. Wykorzystuje ona min. jquery/ajax (listy rozwijane zależne od siebie). Na localhost działa poprawnie. Wrzuciłem na serwer (wszystkie linki itp. zmienione odpowiednio). W wersji roboczej (szkic) wszystko działa tak jak powinno czyli dając „Podejrzyj” jest ok. Problem zaczyna się gdy opublikuję stronę, wtedy nie działa javascript (wydaje mi się, że ścieżki są prawidłowo skoro na podglądzie działa) jednak zależne listy rozwijane nie działają.

    w header.php dodałem

    <script type="text/javascript" src="./wp-content/themes/motyw/jquery-1.3.2.js"></script>
    <script type="text/javascript" src="./wp-content/themes/motyw/jquery.livequery.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
    
    	//$('#loader').hide();
    
    	$('.parent').livequery('change', function() {
    
    		$(this).nextAll('.parent').remove();
    		$(this).nextAll('label').remove();
    
    		$('#show_sub_categories').append('<img src="./wp-content/themes/motyw/loader.gif" style="margin-top:7px;" id="loader" alt="" />');
    
    		$.post("./wp-content/themes/motyw/get_chid_categories.php", {
    			parent_id: $(this).val(),
    		}, function(response){
    
    			setTimeout("finishAjax('show_sub_categories', '"+escape(response)+"')", 400);
    		});
    
    		return false;
    	});
    });
    
    function finishAjax(id, response){
      $('#loader').remove();
    
      $('#'+id).append(unescape(response));
    }
    </script>

Viewing 8 replies - 1 through 8 (of 8 total)
  • Tak nie należy dopinać własnych skryptów.
    Użyj http://codex.wordpress.org/Function_Reference/wp_enqueue_script
    Poza tym, wordpress ma własne jquery i to w dużo nowszej wersji niż ta z wklejonego kodu.

    Twórca wątku koryx

    (@koryx)

    nie bardzo wiem w którym miejscu mam tego użyć, w header.php przed </head> czy w tym moim dołączanym pliku php i czy to ma wygladać w stylu:

    <?php
    function moj_skrypt() {
    	wp_enqueue_script(
    		'skrypcik',
    		get_stylesheet_directory_uri() . '/skrypcik.js',
    		array( 'jquery' )
    	);
    }
    add_action( 'wp_enqueue_scripts', 'moj_skrypt' );
    ?>

    na stronie z listą nie znalazłem jquery.livequery, które mam u siebie czy w ten sam sposób je dodać?

    function livequery() {
    	wp_enqueue_script(
    		'jquery.livequery',
    		get_stylesheet_directory_uri() . '/jquery.livequery.js',
    		array( 'jquery' )
    	);
    }
    add_action( 'wp_enqueue_scripts', 'livequery' );
    ?>

    w pliku swojego szablonu dodajesz

    <?php
    function moj_skrypt() {
     wp_enqueue_script('jquery.livequery', get_stylesheet_directory_uri().'/jquery.livequery.js', array( 'jquery' )	);
     wp_enqueue_script('skrypcik', get_stylesheet_directory_uri().'/skrypcik.js', array( 'jquery','jquery.livequery' ) );
    }
    add_action( 'wp_enqueue_scripts', 'moj_skrypt' );
    ?>

    Twórca wątku koryx

    (@koryx)

    Niestety w ten sposób dołączony skrypt też nie działa.
    Pomijając już fakt sposobu dopinania własnego skryptu dlaczego szkic działa a opublikowana strona już nie?

    a możesz podać adres strony na której ten problem występuje?

    Twórca wątku koryx

    (@koryx)

    strona to mkk.wer.pl i tymczasowo ją opublikuję (Zawody – rejestracja zawodników). Aktualnie chwilowo wróciłem do ustawień z mojego 1 postu bo tam ten problem występuje, przy sposobie j.w. nie działa nawet na podglądzie.
    Żeby zobaczyć tą stronę stworzyłem tymczasowego użytkownika i dodałem go do odpowiedniej grupy (plugin groups): login:test pass:test12345

    skrypt do zależnej listy rozwijanej pobrałem z tej strony

    1. dlaczego linkujesz względnie?
    src="./wp-content/themes/coolblack/jquery.livequery.js"
    -powinien być pełny URL z http://

    2. po co ładujesz dodatkowo stare jquery 1.3.2, skoro masz już ciut nowsze 1.8.3 ?
    <script type='text/javascript' src='http://mkk.wer.pl/wp-includes/js/jquery/jquery.js?ver=1.8.3'></script>

    3. wali 404, jak byś tych skryptów do których się odwołujesz nie miał w katalogu motywu

    Twórca wątku koryx

    (@koryx)

    ad 1 wydawało mi się, że nie potrzeba całego linku, poprawiłem i działa 🙂
    ad 2 wolałem użyć funkcji z gotowego przykładu, sprawdziłem czy działa na tym dołączonym z wp ale coś nie chce, pewnie nazwy funkcji się różnią a nie zagłębiałem się w to
    ad 3 skrypty na pewno są w tym folderze

    Przetestuję jeszcze na innym komputerze i innej przeglądarce i mam nadzieję, że też będzie działać. Sprawdzę też ten zalecany sposób podpinania skryptów. Dziękuję

Viewing 8 replies - 1 through 8 (of 8 total)
  • Temat ‘Szkic działa, opublikowana strona już nie’ jest zamknięty na nowe odpowiedzi.