Как в ВордПресс реализовать настройки темы?

Создаю свою тему. И мне нужны её настройки, если быть точным, то мне нужно что бы пользователь в админке ввел текст, а я вывел его в нужном месте шаблона. так же хотелось бы и соц сетями поступить.

Добавить Комментарий
    Ответ

    Скопируйте код в functions.php или создайте новый .php файл и подключите его к funcions.php. Сам код легко понятен, поэтому у вас не составит труда в нем разобраться.

     class ControlPanel {
     // Устанавливаем значения по умолчанию
     var $default_settings = array(
     );
     var $options;
     function ControlPanel() {
     add_action('admin_menu', array(&$this, 'add_menu'));
     if (!is_array(get_option('themadmin')))
     add_option('themadmin', $this->default_settings);
     $this->options = get_option('themadmin');
     }
    function add_menu() {
     add_theme_page('WP Theme Options', 'Опции темы', 8, "themadmin", array(&$this, 'optionsmenu'));
     }
     function optionsmenu() {
     if ($_POST['ss_action'] == 'save') {
     $this->options["o_proecte"] = $_POST['cp_o_proecte'];
     $this->options["ob_authore"] = $_POST['cp_ob_authore'];
     $this->options["facebook"] = $_POST['cp_facebook'];
     $this->options["vkontakte"] = $_POST['cp_vkontakte'];
     $this->options["twitter"] = $_POST['cp_twitter'];
     $this->options["metrika"] = $_POST['cp_metrika'];
     update_option('themadmin', $this->options);
     echo '<div class="updated fade" id="message" style="background-color: rgb(255, 251, 204); width: 400px; margin-left: 17px; margin-top: 17px;"><p>Ваши изменения <strong>сохранены</strong>.</p></div>';
     }
     echo '<form action="" method="post" class="themeform">';
     echo '<input type="hidden" id="ss_action" name="ss_action" value="save">';
     print '<div class="cptab"><br />
     <b>Настройки темы</b>
     <br />
     <h2>Хедер</h2>
     <p><textarea style="width:300px; height:200px;" placeholder="О проекте" name="cp_o_proecte" id="cp_o_proecte">' . stripslashes($this->options["o_proecte"]) . '</textarea><label> - Текст в хедере: О проекте</label></p><p><textarea style="width:300px; height:200px;" placeholder="Об авторе" name="cp_ob_authore" id="cp_ob_authore">' . stripslashes($this->options["ob_authore"]) . '</textarea><label> - Текст в хедере: Об авторе</label></p>
     <h3>Футер</h3>
     <p><input style="width:300px;" name="cp_vkontakte" id="cp_vkontakte" value="' . $this->options["vkontakte"] . '"><label> - vkontakte</label></p>
     <p><input style="width:300px;" name="cp_facebook" id="cp_facebook" value="' . $this->options["facebook"] . '"><label> - facebook</label></p>
     <p><input style="width:300px;" name="cp_twitter" id="cp_twitter" value="' . $this->options["twitter"] . '"><label> - twitter</label></p>
     <p><textarea style="width:300px; height:200px;" name="cp_metrika" id="cp_metrika">' . stripslashes($this->options["metrika"]) . '</textarea><label> - Текст в подвале</label></p>
     </div><br />';
     echo '<input type="submit" value="Сохранить" name="cp_save" class="dochanges" />';
     echo '</form>';
     }
    }
    $cpanel = new ControlPanel();
     $mytheme = get_option('themadmin');
     

    Для того что бы все заработало нужно объявить переменную в шапке сайта: 

    <?php global $mytheme; ?>
    

    Для того что бы вывести настройки используйте следующий код, меняя только переменные: 
    <?php echo $mytheme['o_proecte']; ?> //выведет текст О проекте 
    

    Добавить Комментарий

    Ваш ответ

    Размещая свой ответ, вы соглашаетесь с правилами сайта.