2015-01-23 2 views
1

Есть ли способ стиль защищенных паролем сообщений в Wordpress? Кроме того, я могу только защищать, а не любые пользовательские поля за пределами этого.Стиль Wordpress защищенных сообщений

Редактировать - Попытка избежать использования плагина, если это возможно

ответ

5

Я предполагаю, что вы имеете в виду стилизации защищенного пароля сообщения на передней панели -конец.

а) CSS:

Если ваша тема использует функцию post_class(), как:

<article <?php post_class(); ?>>...</article> 

тогда он будет генерировать:

<article class="... post-password-required ...">...</article> 

для защищенных паролем сообщений.

Таким образом, вы можете просто предназначаться эти сообщения с:

.post-password-required { 
    background-color: #eee; 
} 

в таблице стилей.

б) Форма:

I) Если вы хотите добавить текст в виде пароля, вы можете использовать следующее:

add_action('the_password_form', 'rob_the_password_form'); 
function rob_the_password_form($output) 
{ 
    $before = ' Before '; // Modify this to your needs! 
    $after = ' After '; // Modify this to your needs! 
    return $before . $output . $after; 
} 

б) Если вы хотите напрямую изменить форму HTML, вы можете переопределить ее с помощью:

add_filter('the_password_form', 'rob_override_the_password_form'); 
function rob_override_the_password_form($form = '') { 
    global $post; 
    $label = 'pwbox-'.(empty($post->ID) ? rand() : $post->ID); 
    $form = '<form action="' . esc_url(site_url('wp-login.php?action=postpass', 'login_post')) . '" method="post"> 
    ' . __("To view this protected post, enter the password below:") . ' 
    <label for="' . $label . '">' . __("Password:") . ' </label><input name="post_password" id="' . $label . '" type="password" size="20" maxlength="20" /><input type="submit" name="Submit" value="' . esc_attr__("Submit") . '" /> 
    </form> 
    '; 
    return $form; 
} 

, где это основано на примере от Codex. Он использует ту же форму, что и по умолчанию.

с) Название:

Для изменения по умолчанию Protected: название префикс, вы можете использовать:

add_filter('protected_title_format', 'rob_protected_title_format'); 
function rob_protected_title_format($format) 
{ 
    $format = __(' Members only! %s '); // Modify this to your needs! 
    return $format; 
} 

Надеюсь, это поможет вам стилизовать ваши защищенные сообщения.

+0

Кажется, что функции не работают корректно, получая следующую ошибку: Ошибка синтаксиса: ошибка синтаксиса, неожиданный T_FUNCTION в .../wp-content/themes/2015/functions.php в строке 4 – Rob

+0

Я предположил, что у вас есть PHP> = 5.3 ... позвольте мне обновить его для более старых версий ... Пожалуйста, проверьте сейчас – birgire

+0

Его получение.Не получать ошибку на странице сообщений, а на другой странице получить эту ошибку: Предупреждение: не удается изменить информацию заголовка - заголовки, уже отправленные (вывод запущен в .../beta/wp-content/themes/2015/functions.php: 3) в /.../beta/wp-includes/pluggable.php в строке 1178 – Rob

-1

Вы можете использовать Protected Post Personalizer плагин для выполнения трюка https://wordpress.org/plugins/protected-post-personalizer/

+0

Спасибо, извините, я пытался избежать плагина, если это возможно. – Rob

+0

Его получение там. Не получить ошибку на странице сообщений, а на другой странице получить эту ошибку: Предупреждение: не удается изменить информацию заголовка - заголовки, уже отправленные (вывод запущен в .../beta/wp-content/themes/2015/functions.php: 3) в /.../beta/wp-includes/pluggable.php в строке 1178 – Rob

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