Web Design Forum
http://www.wdf.gr/forum/

Wordpress: php μεσα σε posts και pages
http://www.wdf.gr/forum/php/wordpress-php-mesa-se-posts-kai-pages-t317.html
Σελίδα 1 από 1

Συγγραφέας:  sotiriskalathas [ 26 Μάιος 2011 13:25 ]
Θέμα δημοσίευσης:  Wordpress: php μεσα σε posts και pages

Σε ένα custom theme που φτιάχνω σε Wordpress προσπαθώ να τρέξω php μέσα σε μια σελίδα, δλδ να εισάγω κώδικα php με τον επεξεργαστή html (ο WYSIWYG με εκνευρίζει).

Χρησιμοποιώ το plugin Exec-PHP http://bluesome.net/post/2005/08/18/50/ και όντως μπορώ να τρέξω php μέσα σε ένα post.

π.χ.

Κώδικας:
<?php echo 'Hello World'; ?>


επιστρέφει όντως Hello World.

Ως εδώ όλα καλά, αλλά, έχω στο header.php κάτι του στυλ:

Κώδικας:
<?php
...
...
$flag = 1;
?>


Τώρα, μέσα στο post γράφω:

Κώδικας:
<?php
if ($flag == 1){
echo 'douleyei';
}
else {
echo 'den doyleyei';
}
?>


Πλοηγούμε λοιπόν στην εν λόγω σελίδα και βλέπω να γράφει den doyleyei το οποίο σημαίνει οτι ο κώδικας php μέσα στο post δεν μπορεί να τραβήξει μεταβλητές έξω από το post, στην προκειμένη από το header.php του theme... :(

Δοκίμασα διάφορα με $_SESSION, GLOBALS, αλλά δεν μπόρεσα να βρω λύση - είμαι σχετικά νέος στην php.

Any ideas, anyone?

Συγγραφέας:  moserlx [ 27 Μάιος 2011 14:33 ]
Θέμα δημοσίευσης:  Re: Wordpress: php μεσα σε posts και pages

Για δοκίμασε πρώτα αν διαβάζει σωστά την μεταβλητή $flag :
Κώδικας:
<?php echo "$flag"; ?>

σου δίνει την σωστή τιμή αυτό;

Συγγραφέας:  sotiriskalathas [ 02 Ιουν 2011 17:23 ]
Θέμα δημοσίευσης:  Re: Wordpress: php μεσα σε posts και pages

Προφανώς κάτι παίζει με το Wordpress και την php στα posts, για λόγους ασφαλείας να υποθέσω;

Ούτε και στο Wordpress.org Support βρήκα άκρη, και τελικά το "παρέκαμψα". Αυτό που προσπαθούσα να κάνω βρισκότανε μόνο στην homepage, id 2 στην περίπτωση μου, οπότε έβαλα στο header.php του theme το εξής απλό:

Κώδικας:
<?php if (is_page('2')){ ... ... ... } ?>

Συγγραφέας:  moserlx [ 04 Ιουν 2011 14:23 ]
Θέμα δημοσίευσης:  Re: Wordpress: php μεσα σε posts και pages

Αυτός είναι ο σωστός τρόπος πάντως. Να προτιμάς πάντα τα ήδη υπάρχοντα functions του WP :)

Συγγραφέας:  botonakis [ 15 Ιούλ 2011 13:28 ]
Θέμα δημοσίευσης:  Re: Wordpress: php μεσα σε posts και pages

Εκεί που δηλώνεις την μεταβλητή $flag δες αν την δηλώνεις σωστά.
Από κει και πέρα εκεί που τη διαβάζεις, δήλωσέ την ως global.

Δηλαδή πρόσθεσε:
Κώδικας:
global $flag;

Σελίδα 1 από 1 Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/