如何解决如何自定义主题来个性化Wordpress Color?
我在网站上的某个地方找到了我需要做的一部分的代码。它添加了1种颜色选择器,但我尝试添加多个选择器,但找不到正确的方法。
function mytheme_customize_register( $wp_customize ) {
//All our sections,settings,and controls will be added here
$wp_customize->add_setting( 'header_textcolor',array(
'default' => "#000000",'transport' => 'refresh',) );
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize,'header_textcolor',array(
'label' => __( 'Header Color','mytheme' ),'section' => 'colors',) ) );
}
add_action( 'customize_register','mytheme_customize_register' );
function mytheme_customize_css()
{
?>
<style type="text/css">
h2 { color: #<?php echo get_theme_mod('header_textcolor',"#000000"); ?>; }
</style>
<?php
}
add_action( 'wp_head','mytheme_customize_css');
例如,我尝试找到做多个选择器的方法,一个用于h1,一个用于h2,一个用于链接,...。
任何人都知道正确的方法吗?我尝试了几件事,可以使它显示出来,但随后它们不起作用,我对WP结构并不熟悉:/
这是我要尝试的结构:
/** OPTION COLOR LINK**/
function mytheme_customize_register_link( $wp_customize ) {
//All our sections,array(
'label' => __( 'Link','mytheme_customize_register_link' );
function mytheme_customize_css_link()
{
?>
<style type="text/css">
a { color: #<?php echo get_theme_mod('header_textcolor','mytheme_customize_css_link');
/** OPTION COLOR LINK HOVER**/
function mytheme_customize_register_link_hover( $wp_customize ) {
//All our sections,array(
'label' => __( 'Link Hover','mytheme_customize_register_link_hover' );
function mytheme_customize_css_link_hover()
{
?>
<style type="text/css">
a:hover,a:active { color: #<?php echo get_theme_mod('header_textcolor','mytheme_customize_css_link_hover');
但是我知道这里不对,但是不明白什么。
解决方法
嗨,我相信我迟到了几个月,可能你已经解决了这个问题,但这里有一个解决方案可以帮助遇到同样问题的人。
add_action('woocommerce_after_checkout_billing_form','checkout_shipping_form_packing_addition',20);
function checkout_shipping_form_packing_addition()
{
$domain = 'woocommerce';
echo '<tr class="packing-select"><th>' . __('EMBRULHO?',$domain) . '</th><td>';
$chosen = WC()->session->get('chosen_packing');
// Add a custom checkbox field
woocommerce_form_field('chosen_packing',array(
'type' => 'checkbox','class' => array('form-row-wide packing'),'label' => __('$5','woocommerce'),'required' => false,),$chosen);
echo '</td></tr>';
}
// jQuery - Ajax script
add_action('wp_footer','checkout_shipping_packing_script');
function checkout_shipping_packing_script()
{
// Only checkout page
if (is_checkout() && !is_wc_endpoint_url()) :
?>
<script type="text/javascript">
jQuery(function($) {
$('form.checkout').on('change','input#chosen_packing',function() {
$.ajax({
type: 'POST',url: wc_checkout_params.ajax_url,data: {
'action': 'woo_get_ajax_data','packing': $(this).prop('checked') ? 1 : 0,},success: function(result) {
$('body').trigger('update_checkout');
console.log('response: ' + result); // just for testing | TO BE REMOVED
},error: function(error) {
console.log(error); // just for testing | TO BE REMOVED
}
});
});
});
</script>
<?php
else:
WC()->session->__unset('chosen_packing');
endif;
}
// Php Ajax (Receiving request and saving to WC session)
add_action('wp_ajax_woo_get_ajax_data','woo_get_ajax_data');
add_action('wp_ajax_nopriv_woo_get_ajax_data','woo_get_ajax_data');
function woo_get_ajax_data()
{
if (isset($_POST['packing'])) {
$packing = sanitize_key($_POST['packing']);
WC()->session->set('chosen_packing',$packing);
echo json_encode($packing);
}
die(); // Alway at the end (to avoid server error 500)
}
// Add a custom dynamic packaging fee
add_action('woocommerce_cart_calculate_fees','add_packaging_fee',20,1);
function add_packaging_fee($cart)
{
if (is_admin() && !defined('DOING_AJAX'))
return;
if( WC()->session->get('chosen_packing') ){
$label = __('Embrulho','woocommerce');
$cost = 5;
$cart->add_fee($label,$cost);
}
}
我测试过,效果见下
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。