add_option

add_option()

add_option($option, $value = ‘ ‘, $deprecated = ‘ ‘, $autoload = ‘yes’)

Добавляет новый параметр в таблицу options
Значение параметра не нужно сериализовать. Если значение должно быть сериализовано, то оно будет сериализлвано автоматически. Параметр можно добавить без значения.

Параметры:

  • $option – название параметра
  • $value – необязательны, значение параметра, должен быть сериализуемым
  • $deprecated – необязательный, описание (больше не используется)
  • $autoload – необязательный, если стоит «yes», то WordPress будет загружать данный парметр автоматически. По умолчанию стоит «yes»

Возвращает false, если параметр не добавлен и true, если параметр добавлен.

Хуки: add_option, add_option_{$option}, added_option

Похожие:

Файл: wp-include/option.php

Пример:

Мы хотим реализовать простую статистику просмотра страниц. Для этого открываем файл темы WordPress page.php, который отвечает за отображение страницы. И в код где происходит отображение самого контента страницы. В моем случае:

<?php while (have_posts()) : the_post(); ?>    
    <article>
        <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><h1><?php the_title(); ?></h1></a>
        <?php the_content(false); ?>
        <div class="clearfix"></div>
        <?php
            $id = get_the_ID();
            if(!add_option($id,'1')){
                $num = get_option($id);
                update_option($id,$num+1);
            }
        ?>
    </article>
<?php endwhile ?>

В конец цикла while вставляем код для подсчета просмотра страницы. Вот, что получилось:

<?php while (have_posts()) : the_post(); ?>    
    <article>
        <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><h1><?php the_title(); ?></h1></a>
        <?php the_content(false); ?>
        <div class="clearfix"></div>
        <?php
            $id = get_the_ID();
            if(!add_option($id,'1')){
                $num = get_option($id);
                update_option($id,$num+1);
            }
        ?>
    </article>
<?php endwhile ?>

Тут мы используем функцию get_the_ID() для получения ID текущей страницы. И присваиваем это значение переменной $id. Для чего это сделано? В нашем коде нам несколько раз понадобиться ID страницы и для того, чтобы не вызывать одну и ту же функцию несколько раз. Этот момент позволяет нам ускорить работу нашего кода (хотя в нашем случае это ускорение не существенно).

Дальше используем условие если параметр ID поста со значением 1 записываем в таблицу options, при помощи функции add_option(). Которая вернет true, если параметр записан или false, если параметр не записан. Если параметр не записан, то мы получаем значение данного параметра при помощи функции get_option() и дальше обновляем наша параметр при помощи функции update_option().

Проверим. Откроем в phpmyadmin таблицу options. В моем случае сейчас там 224 записи

options_table

Теперь откроем какую-нибудь страницу нашего блога:

page_uslugi

Для отображения страницы ничего не изменилось. Теперь опять зайдем в таблицу options через phpmyadmin.

update_options_table

Добавилась запись. Давайте посмотрим.

new_record_options_table

Отлично, теперь давайте обновим страницу нашего блога. И посмотри, что произошло с нашей записью.

update_record_options_table

Все работает.

Теперь написать небольшой плагин для отображения просмотренных страниц в админке, и можно вести статистику. Но это тема уже другой статьи.

Небольшое видео в качестве примера:

 

©2012-2019 По всем вопросам обращайтесь через форму обратной связиПолитика конфиденциальности

Яндекс.Метрика