Как эти функции PHP применяются к определенной странице в WordPress? - PullRequest
0 голосов
/ 24 февраля 2011

Я довольно новичок в PHP и пытаюсь понять его практическими способами.

Я получаю большую часть того, что происходит в следующем коде, с помощью http://www.php.net и http://codex.wordpress.org/Function_Reference/.

В текущей ситуации только одинстраница на сайте запускает всплывающую форму, если файл cookie не установлен.Эта функциональность указана в этом коде?

Вот функции:

if (isset($_POST['confirm']) && isset($_POST['location'])) { 
    setcookie("Location", $_POST['location'], time()+3600);     
}
elseif (!isset($_COOKIE["Location"])) {
    setcookie("Location", "", 1);
}
elseif (isset($_POST['deny'])) {
    setcookie("Location", "", 1);
}

// Popup confirmation 
function show_popup($content) {
    global $post;
    $location = get_post_meta($post->ID, 'location', TRUE);
    if (strtolower($l) == strtolower($location) || strlen($location) == 0   
    || (isset($_COOKIE["Location"]) && strtolower($_COOKIE["Location"])  
    == strtolower($location))) {
        return $content;
    } else {
        ?>
        <div id="popup">
    <p>Foo.</p>
    <p>Yes/No?</p>
    <form action="<?php echo $PHP_SELF ?>" method="post">
    <input type="hidden" name="location" value="<?php echo $location; ?>" />
    <input type="submit" name="confirm" value="Yes" />
    <input type="submit" name="deny" value="No" />
    </form>
    </div>
        <?php
    }
}
add_filter('the_content', 'show_popup');

// Adds content to the <head> tag
function add_meta_content() {
if(isset($_POST['deny'])) {
?>
<meta http-equiv="refresh" content="0;url=<?php bloginfo ('wpurl') ?>">
<?php
}
if(isset($_POST['confirm'])) {
?>
<meta http-equiv="refresh" content="0;url=<?php echo $PHP_SELF; ?>">
<?php
}

}
add_action('wp_head', 'add_meta_content');

Ответы [ 2 ]

0 голосов
/ 26 февраля 2011
0 голосов
/ 24 февраля 2011

Это оператор if в функции show_popup.

Он либо возвращает $ content (т.е. ничего не делает), либо выводит форму.

Если в текущем сообщении есть мета-поле с именем locationдлина не 0 символов, и в этом месте нет файла cookie, он выведет форму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...