Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]define(), da się jakoś jednak zmienić ;-(?
Lord
post 2.02.2010, 21:53:26
Post #1





Grupa: Zarejestrowani
Postów: 239
Pomógł: 32
Dołączył: 10.03.2004

Ostrzeżenie: (10%)
X----


Pisze mały skrypt dodający dane do Wordpressa przy wykorzystaniu wp_insert_post() aby użyć tej funkcji należy include("wp-load.php"); i teraz tam jest zdefiniowana stała define( 'ABSPATH', dirname(__FILE__) . '/' ); dodawanie do jednego bloga jako tako działa, ale jak chce dodać ten sam (trochę zmieniony - wersja pod telefon) to mam problem bo ścieżka do plików konfiguracyjnych jest dalej taka jak zadeklarowana wcześniej, i dodaje mi 2 posty do jednego bloga. Nie wiecej w jaki sposób moge to zmienić ? bo pewnie scieżka stała ABSPATH jest wykorzystywana wielokrotnie w różnych plikach, próbowałem w samym pliku wp-load.php (w tym 2 blogu) na stałe wklepać ścieżkę, ale mimo wszystko nie działało jak powinno.
Go to the top of the page
+Quote Post
jacek.e3
post 2.02.2010, 22:06:40
Post #2





Grupa: Zarejestrowani
Postów: 20
Pomógł: 6
Dołączył: 2.02.2010

Ostrzeżenie: (0%)
-----


Witam,

możesz znaleźć miejsce zdefiniowania tej stałej i za pomocą warunku odpowiednio ją ustawić.
Z posta wynika, że potrzebujesz innej ścieżki pod telefon, który na pewno zwróci jakąś charakterystyczną wartość, lub inny specjalny warunek.


  1. if ($wersja_normalna) {
  2. define( 'ABSPATH', dirname(__FILE__) . '/' );
  3. } else {
  4. define( 'ABSPATH', dirname(__FILE__) . '/mobile/' );
  5. }



pozdrawiam
Go to the top of the page
+Quote Post
Lord
post 2.02.2010, 22:23:22
Post #3





Grupa: Zarejestrowani
Postów: 239
Pomógł: 32
Dołączył: 10.03.2004

Ostrzeżenie: (10%)
X----


Tylko, że dodaje post w 1 skrypcie 2 razy, więc raz ABSPATH musi przybrać jedną wartość, a (dalej w tym samym skrypcie) chce dodać do 2 bloga to ta wartość musi ulec zmianie. Twoje rozwiązanie działałoby gdybym chciał dodawać tu lub tu, a ja chce dodać w 1 skrypcie i tu i tu ;(
Go to the top of the page
+Quote Post
jacek.e3
post 2.02.2010, 22:57:53
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 6
Dołączył: 2.02.2010

Ostrzeżenie: (0%)
-----


stałej i tak nie ruszysz, ale w 2 wywołaniach powinno się udać:
  1. $wersja_normalna = isset($_GET['mobile']);
  2.  
  3. if ($wersja_normalna) {
  4. define( 'ABSPATH', dirname(__FILE__) . '/' );
  5. } else {
  6. define( 'ABSPATH', dirname(__FILE__) . '/mobile/' );
  7. }
  8.  
  9. (...)
  10.  
  11. if ($wersja_normalna) {
  12. // tu dodajesz posta, nic nie wyświetlasz, bo header nie pójdzie (możesz zbierać do bufora etc.)
  13. header('Location: ....../file.php?mobile=1');
  14. exit();
  15. } else {
  16. // tu dodajesz pod telefon i już wyświetlasz co chcesz
  17. }


takie trochę brzydkie obejście, ale może ktoś wymyśli coś lepszego.

pozdrawiam
Go to the top of the page
+Quote Post
Lord
post 3.02.2010, 10:11:33
Post #5





Grupa: Zarejestrowani
Postów: 239
Pomógł: 32
Dołączył: 10.03.2004

Ostrzeżenie: (10%)
X----


tez rozwazałem przekazanie informacji getem, ale chcialem tego uniknać smile.gif no nic czekam moze ktos jeszcze ktos sie wypowie, ale dziakuje jacek.e3 za pomoc :]
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:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 15:30