2016-04-19 2 views
1

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

Я хочу добавить пользовательский сократитель URL, используя функцию короткой ссылки WordPress, поэтому я добавил пользовательский параметр для хранения имени домена shortener URL. Это позволяет настраивать его.

function urb_admin_init_shortlink_domain() 
{ 
    $option_group = 'permalink'; 
    $option_name = 'shortlink_domain'; 
    $sanitize_callback = null; 

    register_setting($option_group, $option_name, $sanitize_callback); 

    $id = 'shortlink_domain'; 
    $title = 'Shortlink Domain'; 
    $callback = 'urb_shortlink_domain'; 
    $page = 'permalink'; 
    $section = 'optional'; 
    $args = null; 

    add_settings_field($id, $title, $callback, $page, $section, $args); 
} 

function urb_shortlink_domain() 
{ 
    $option = 'shortlink_domain'; 
    echo '<input type="text" name="' . $option . '" id="' . $option . '" value="' . get_option($option) . '" class="regular-text ltr" />'; 
} 

add_action('admin_init', 'urb_admin_init_shortlink_domain'); 

По какой-то причине он не сохраняет значение. Функция get_option('shortlink_domain') возвращает false.

ответ

1

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

Я думаю, что нужно другим способом, чтобы сохранить пользовательские поля значения на Permalink стр.

Ниже приведен пример кода сохранения на странице постоянной ссылки.

add_action('admin_init', 'save_your_permalink_settings'); 

function save_your_permalink_settings(){ 

    if(isset($_POST['permalink_structure']) && isset($_POST['shortlink_domain'])){ 

    $short_domain = wp_unslash($_POST['shortlink_domain']); 
    update_option('shortlink_domain', $short_domain); 

    } 
} 
+0

Извините за задержанный ответ. Просто сейчас наконец-то настало время взглянуть на это снова. Я приветствую ваши усилия. Я, буквально, просто скопировал и вставлял код в свой код, и он работал (после изучения, конечно). Это такая простая концепция, я не знаю, почему я не думал просто сделать это сам. – Quantastical

Смежные вопросы