snthr
  • 0
Новичок

Использование параметров темы для изменения цвета ссылок

  • 0

Я разрабатываю тему WordPress с некоторыми параметрами темы (используя страницу параметров образца темы ThemeShaper ), и один из вариантов, который я хочу, — разрешить пользователям устанавливать свои собственные цвета ссылок.

На данный момент я могу получить шестнадцатеричное значение, которое они установили (например, # 134679 или что-то в этом роде), и выложить его куда-нибудь, но я не знаю, как включить его в тему.

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

Спасибо.

Редактировать: я вообще не PHP-человек, так что… язык непрофессионала, пожалуйста. 🙂

Share
  1. Чтобы сделать параметры темы для css, вы включаете css в заголовок. на wp_head…

    Например, я настроил различные параметры в своем меню администратора в виде массива.

            'name' => __( 'Custom CSS', 'voodoo_lion' ),   
        "desc" => __( 'Want to add any custom CSS code? Put in here, and the rest is taken care of. This overrides any other stylesheets. eg: a.button{color:green}', 'voodoo_lion' ),   
        "id" => $shortname."_custom_css",   
        "type" => "textarea",   
        "std" => ""
    ),
    

    это вариант для ввода пользовательского css. Затем я добавляю это действие в wp_head

    add_action( 'wp_head', 'voodoo_inline_css', 100000 );
    

    и определите voodoo_inline_css. У меня есть множество вещей в функции voodoo_inline_css, но одна из них:

    if( get_theme_option( 'custom_css' ) ) 
        theme_option( 'custom_css' );
    

    Надеюсь, это немного помогло… вы также можете просто вызвать опцию непосредственно в header.php

    <style type="text/css" media="screen">
       .content a:link {
            color: <?php echo get_theme_option(' link-color '); ?>;
        }
    </style>
    

    В любом случае вам нужно вывести css в заголовок, а не пытаться поместить его в таблицу стилей.

    Просто примечание: этот код параметров темы скопирован/вставлен из моей темы в качестве примера, чтобы вы могли видеть фрагменты кода и сравнивать. Поскольку вы следовали своему собственному руководству, ваши параметры будут настроены несколько иначе. Я хотел показать, что вы выведете свою опцию в заголовок (используя либо wp_head, либо напрямую), чтобы css вступил в силу.

    • 0
    • Напоминаю, преподобный Вуддо, эти функции опций темы не будут работать ни для кого другого, я написал их специально для вашей темы… 😉

      • 0
    • Да, у него уже была настроена собственная опция темы через его туториал… Я больше пытался объяснить (хотя и окольными путями), что он должен был выводить все свои опции в заголовок… Наверное, стоило в этой части было более ясно… Спасибо!

      • 0
    • Боюсь, все еще в замешательстве. Когда вы говорите, что добавляете действие в wp_head, что это значит? Вы добавляете его в functions.php? Как я уже сказал, я не человек PHP.

      • 0
    • да, добавить действие можно было бы в functions.php. Для одного единственного варианта вам может быть лучше просто добавить свой вариант непосредственно в ваш header.php. Вы сказали, что уже знаете, как взять значение опции и выплюнуть его куда-нибудь. Так что мой последний фрагмент кода действительно подойдет вам лучше всего, просто заменив мой php-код на то, что вы используете для вывода значений. Этот последний фрагмент кода будет помещен в header.php внутри раздела .

      • 0
    • Но лучший способ сделать это — использовать wp_head, верно?

      • 0

Оставить ответ

You must login to add an answer.