Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]define()
Forum PHP.pl > Forum > Przedszkole
Lord
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.
jacek.e3
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
Lord
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 ;(
jacek.e3
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
Lord
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 :]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.