dooley
  • 0
Новичок

Как эти функции PHP применяются к определенной странице в WordPress?

  • 0

Я получаю большую часть того, что происходит в следующем коде, с некоторой помощью от 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');
Share
  1. Вам следует избегать использования $PHP_SELF, в приведенном выше коде вы получите тот же эффект, если вообще не укажете действие или укажете пустое действие в элементе формы.

    • 0
  2. убедитесь, что сообщение как настраиваемое поле с именем 'location' и страница, которую вы просматриваете, использует, the_content() или если вы хотите, чтобы это работало с категориями и архивами, добавьте:

    add_filter('the_excerpt', 'show_popup');
    

    надеюсь это поможет

    • 0

Оставить ответ

You must login to add an answer.