Сохранение входных значений опций Wordpress Theme - PullRequest
0 голосов
/ 07 мая 2018

Я создал собственную страницу настроек темы, которая хорошо видна на заднем плане. Я хочу, чтобы пользователь мог вводить и сохранять значения URL через опции темы. Затем я назначу связанные с ними переменные непосредственно в разметку для динамического заполнения значения href.

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

<?php

function theme_settings_page()
{
    ?>

        <div class="wrap">
            <?php if (function_exists('the_custom_logo')) {
                the_custom_logo();
                }
                else{
                    bloginfo('name');
                }
            ?>
            <h1>THEME OPTIONS</h1>
            <p>The theme options panel allows you to directly control the output for some of the key features of your website.</p>
            <p><i>Author: </i></p>
            <p><i>Date: 06/05/18 | Version 1.0 </i></p>
            <p><i>Website: </i></p>
            <hr>
            <h3>Social Connections</h3>
            <p>Easily connect directly to your social profiles by providing the full absolute URL to your social account profile.</p>
            <p>Example:<i><span> "https://facebook.com/yourprofile"</span></i></p>

            <table>
            <tr align="left" valign="middle">
            <th scope="row"><?php _e( 'Facebook', 'customtheme' ); ?></th>
            <td><input id="sample_theme_options[fburl]" type="text" name="sample_theme_options[fburl]" value="<?php esc_attr_e( $options['fburl'] ); ?>" /></td>
            </tr>

            <tr align="left" valign="middle">
            <th scope="row"><?php _e( 'Google Plus', 'customtheme' ); ?></th>
            <td><input id="sample_theme_options[gpurl]" type="text" name="sample_theme_options[gpurl]" value="<?php esc_attr_e( $options['gpurl'] ); ?>" /></td>
            </tr>

            <tr align="left" valign="middle">
            <th scope="row"><?php _e( 'Instagram', 'customtheme' ); ?></th>
            <td><input id="sample_theme_options[inurl]" type="text" name="sample_theme_options[fburl]" value="<?php esc_attr_e( $options['inurl'] ); ?>" /></td>
            </tr> 

            <tr align="left" valign="middle">
            <th scope="row"><?php _e( 'LinkedIn', 'customtheme' ); ?></th>
            <td><input id="sample_theme_options[liurl]" type="text" name="sample_theme_options[fburl]" value="<?php esc_attr_e( $options['liurl'] ); ?>" /></td>
            </tr>   

            <tr align="left" valign="middle">
            <th scope="row"><?php _e( 'Twitter', 'customtheme' ); ?></th>
            <td><input id="sample_theme_options[twurl]" type="text" name="sample_theme_options[fburl]" value="<?php esc_attr_e( $options['twurl'] ); ?>" /></td>
            </tr> 

            <tr align="left" valign="middle">
            <th scope="row"><?php _e( 'Youtube', 'customtheme' ); ?></th>
            <td><input id="sample_theme_options[yturl]" type="text" name="sample_theme_options[fburl]" value="<?php esc_attr_e( $options['yturl'] ); ?>" /></td>
            </tr>           
            </table>

            <form method="post" action="options.php">
                <?php
                    settings_fields("options");
                    do_settings_sections("theme-options");      
                    submit_button(); 
                ?>          
            </form>
        </div>
    <?php
}


/** 
    Add Theme Options To Admin Side Menu **/
function add_theme_menu_item()
{
    add_menu_page("Theme Options", "Theme Options", "manage_options", "theme-panel", "theme_settings_page", null, 60);
}

add_action("admin_menu", "add_theme_menu_item")

 ?>

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Вы использовали поля настроек в вашей форме. Для этого вы должны зарегистрировать свои настройки раньше. Для настройки, пожалуйста, обратитесь: https://codex.wordpress.org/Settings_API

Или вот пошаговое руководство: https://codex.wordpress.org/Creating_Options_Pages https://wisdmlabs.com/blog/create-settings-options-page-for-wordpress-plugin/

0 голосов
/ 07 мая 2018

Wordpress имеет новый API параметров для управления всеми этими страницами параметров и настройками, а также многое другое.

Полный пример API параметров Wordpress здесь: https://codex.wordpress.org/Creating_Options_Pages

...