WordPress

Witaj Gościu ( Zaloguj | Rejestruj )

Każdy temat założony w ewidentnie złym dziale będzie usuwany! Proszę czytać opisy działów i regulamin!

 
Reply to this topicStart new topic
> Problem z permalinkiem, a może to moja nieznajomość php
komoorki
post 13.8.2008 - 19:30
Post #1


aktywność:
*

Grupa: Bloger
Postów: 10

Nr: 3 945



Witam ponownie,

W theme mojej strony jest pewien fragment w którym losowo zmieniane są obrazki. Do tego celu użyłem skryptu znalezionego w internecie:

KOD
<?php
#tablica zawierająca nazwy plików - obrazków
$obrazki = array("a.jpg", "b.jpg", "c.jpg", "d.jpg", "e.jpg");

#inicjujemy generator licz losowych
srand ((float) microtime() * 10000000);

#wybieramy jeden losowy obrazek z tablicy
$obrazek = $obrazki[array_rand($obrazki)];

#wyświetlamy losowy obrazek
echo "<img src=$obrazek>";
?>


jako ścieżkę do obrazków podałem:

KOD
echo "<img src=wp-content/themes/aquarium-10/img/$obrazek>";


Wiem, że nie powinno się tak robić, ale ta metoda działała. No właśnie działała do momentu, aż postanowiłem "upiększyć" swoje linki z domyślnych:

KOD
http://xxxxxxxxx.pl/?p=123


ustawiłem na:

KOD
http://xxxxxxxxx.pl/2008/08/13/sample-post/


I od tej pory wszystko zaczęło się sypać. Obrazki nie wyświetlały się, podejrzałem linki do nich prowadzące i wyglądały one tak:

KOD
http://xxxxxxxxx.pl/2008/08/13/sample-post/wp-content/themes/aquarium-10/img/$obrazek


Znalazłem w header.php permalink do mojego folderu stylu.

KOD
<?php bloginfo('stylesheet_directory'); ?>


i postanowiłem zmodyfikować kod dodając odpowiednio linijki:


KOD
<?php
#tablica zawierająca nazwy plików - obrazków
$obrazki = array("a.jpg", "b.jpg", "c.jpg", "d.jpg", "e.jpg");
$dir = bloginfo('stylesheet_directory');

#inicjujemy generator licz losowych
srand ((float) microtime() * 10000000);

#wybieramy jeden losowy obrazek z tablicy
$obrazek = $obrazki[array_rand($obrazki)];

#wyświetlamy losowy obrazek
echo "<img src=$dir/img/$obrazek>";
?>


I problem nadal występuje, tzn obrazek się nie wyświetla a jego link wygląda następująco:

KOD
http://xxxxxxxxx.pl/img/$obrazek


a więc nie działa mi ten permalink, co więc źle robię. Może to problem z kodem ? Proszę o pomoc.

Ten post edytował komoorki 13.8.2008 - 19:31
Go to the top of the page
 
+Quote Post
marcinpl87
post 14.8.2008 - 09:42
Post #2


aktywność:
*****

Grupa: Redakcja
Postów: 354

Nr: 2 655



Permalink Ci się nie wyświetla dlatego że nie możesz sobie tak poprostu przypisać funkcji do zmiennej.
Masz dwie opcje w takim wypadku:
1) zajrzeć do kodu funkcji bloginfo i zobaczyć z czego ona wyciąga te dane i przegryźć się przez kilka innych funkcji i dojść do jakiegoś zapytania albo funkcji która zwraca Ci wartość returnem a nie przez echo. Może get_bloginfo() ?
2) wrzucić do bufora to co zwraca funkcja i przypisać bufor do zmiennej.

Boję się że mnie ktoś posądzi o nieprofesjonalizm ale zaryzykuję i zamieszczę kawałek kodu (poprawiłem też Ciapki w Twoim kodzie bo przydałoby się żeby znacznik img miał składnię <img src="">):
KOD
<?
$obrazki = array("a.jpg", "b.jpg", "c.jpg", "d.jpg", "e.jpg"); //tablica plikow
ob_start(); //start buforowania funkji
bloginfo('stylesheet_directory'); //funkcja ktora chcemy wrzucic do zmiennej
$bufferContent = ob_get_contents(); //przypisanie bufora do zmiennej
ob_end_clean(); //koniec buforowania funkcji
srand ((float) microtime() * 10000000); //??
$obrazek = $obrazki[array_rand($obrazki)]; //?? 0o"
echo '<img src="'.$bufferContent.'/img/'.$obrazek.'">'; //wyswietla grafike
?>


Pozdrawiam


--------------------
masz problem z "Warning: Cannot modify header information - headers already sent by" ?? W 99.9% przypadków chodzi o BOM. Więcej --> http://www.wordpress.org.pl/bl%B1d-pod-cza...acji-t4763.html albo http://www.wordpress.org.pl/search/
Go to the top of the page
 
+Quote Post
komoorki
post 14.8.2008 - 17:44
Post #3


aktywność:
*

Grupa: Bloger
Postów: 10

Nr: 3 945



szacunek, działa! Wielkie dzięki!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



Wersja Lo-Fi Aktualny czas: 4 12 08 - 17:32
WebFan | Forum Komputerowe | Spotkania blogerów