SlideShare a Scribd company logo
1 of 17
Download to read offline
wordpress 3.4 — theme customizer
function _sj_customize_register( $wp_customize ) { 
$wp_customize->get_setting( 'blogname' )->transport = 'postMessage'; 
$wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; 
$wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage'; 
/* ... */ 
} 
add_action( 'customize_register', '_sj_customize_register' ); 
/** 
* Binds JS handlers to make Theme Customizer preview reload changes asynchronously. 
*/ 
function _sj_customize_preview_js() { 
wp_enqueue_script( '_sj_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' 
), '', true ); 
} 
add_action( 'customize_preview_init', '_sj_customize_preview_js' );
$wp_customize->add_setting( 'sj_header_logo', array( 
'default' => get_template_directory_uri() . '/img/blog-logo.png', 
'transport' => 'postMessage' 
) );
$wp_customize->add_panel( 'sj_images', 
array( 
'title' => __( 'Images', '_sj' ), 
'priority' => 10 
) );
$wp_customize->add_section( 'header', array( 
'title' => __( 'Header', '_sj' ), 
'panel' => 'sj_images', 
'priority' => 10 
) );
$wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'sj_header_logo', array( 
'label' => __( 'Upload a header logo', '_sj' ), 
'section' => 'header' 
) ) );
( function( $ ) { 
// Header logo. 
wp.customize( 'sj_header_logo', function( value ) { 
value.bind( function( to ) { 
$( 'h1.title img' ).hide(); 
if ( to ) { 
$( 'h1.title img:not(.default)' ).attr( 'src', to ).show(); 
} 
else { 
$( 'h1.title img.default' ).show(); 
} 
} ); 
} ); 
} )( jQuery );
<?php 
$sj_header_logo_default = get_template_directory_uri() . '/base_html/img/blog-logo.png'; 
$sj_header_logo = get_theme_mod( 'sj_header_logo' ); 
if ( empty( $sj_header_logo ) ) 
$sj_header_logo = $sj_header_logo_default; 
?> 
<h1 class="title"> 
<a href="<?php echo esc_url( home_url( '/' ) ); ?>"> 
<img src="<?php echo $sj_header_logo; ?>" alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>" /> 
<?php if ( is_customize_preview() ) : ?> 
<img src="<?php echo $sj_header_logo_default; ?>" alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>" 
class="default" style="display: none" /> 
<?php endif; ?> 
</a> 
</h1>
WordPress Customizer
WordPress Customizer
WordPress Customizer
WordPress Customizer

More Related Content

What's hot

もっと使いやすくなる a-blog cms の更新方法カスタマイズ
もっと使いやすくなる a-blog cms の更新方法カスタマイズもっと使いやすくなる a-blog cms の更新方法カスタマイズ
もっと使いやすくなる a-blog cms の更新方法カスタマイズKasumi Morita
 
Concevoir un thème pour Wordpress
Concevoir un thème pour WordpressConcevoir un thème pour Wordpress
Concevoir un thème pour WordpressJean-Luc Houedanou
 
Як досвід компанії перетворився на фреймворк
Як досвід компанії перетворився на фреймворкЯк досвід компанії перетворився на фреймворк
Як досвід компанії перетворився на фреймворкShtrih Sruleg
 
Drupal Cms Prezentace
Drupal Cms PrezentaceDrupal Cms Prezentace
Drupal Cms PrezentaceTomáš Kafka
 
jQuery - Write less, do more!
jQuery - Write less, do more!jQuery - Write less, do more!
jQuery - Write less, do more!Johannes Weber
 
Palestra sobre MongoDB com PHP no PHP'n'Rio
Palestra sobre MongoDB com PHP no PHP'n'Rio Palestra sobre MongoDB com PHP no PHP'n'Rio
Palestra sobre MongoDB com PHP no PHP'n'Rio Suissa
 
10 Programación Web con .NET y C#
10 Programación Web con .NET y C#10 Programación Web con .NET y C#
10 Programación Web con .NET y C#guidotic
 
ສ້າງລະບົບ Loin ດ້ວຍ php
ສ້າງລະບົບ Loin ດ້ວຍ phpສ້າງລະບົບ Loin ດ້ວຍ php
ສ້າງລະບົບ Loin ດ້ວຍ phpBounsong Byv
 
Contes 66pdf
Contes 66pdfContes 66pdf
Contes 66pdfanatole21
 
JavascriptMVC
JavascriptMVCJavascriptMVC
JavascriptMVC4lb0
 
Jquery overview 2013
Jquery overview 2013 Jquery overview 2013
Jquery overview 2013 hayato
 
Web components copy
Web components copyWeb components copy
Web components copylulzaugusto
 
Bootcamp Google Abidjan 2012: Workshop Gaou Search
Bootcamp Google Abidjan 2012: Workshop Gaou SearchBootcamp Google Abidjan 2012: Workshop Gaou Search
Bootcamp Google Abidjan 2012: Workshop Gaou SearchIsmael Toé
 
スマホウェブの本命 jQueryMobile
スマホウェブの本命 jQueryMobileスマホウェブの本命 jQueryMobile
スマホウェブの本命 jQueryMobileManabu Uekusa
 

What's hot (20)

もっと使いやすくなる a-blog cms の更新方法カスタマイズ
もっと使いやすくなる a-blog cms の更新方法カスタマイズもっと使いやすくなる a-blog cms の更新方法カスタマイズ
もっと使いやすくなる a-blog cms の更新方法カスタマイズ
 
Tools20121015
Tools20121015Tools20121015
Tools20121015
 
Concevoir un thème pour Wordpress
Concevoir un thème pour WordpressConcevoir un thème pour Wordpress
Concevoir un thème pour Wordpress
 
Як досвід компанії перетворився на фреймворк
Як досвід компанії перетворився на фреймворкЯк досвід компанії перетворився на фреймворк
Як досвід компанії перетворився на фреймворк
 
Drupal Cms Prezentace
Drupal Cms PrezentaceDrupal Cms Prezentace
Drupal Cms Prezentace
 
jQuery - Write less, do more!
jQuery - Write less, do more!jQuery - Write less, do more!
jQuery - Write less, do more!
 
Verbo POUPAR
Verbo POUPARVerbo POUPAR
Verbo POUPAR
 
Palestra sobre MongoDB com PHP no PHP'n'Rio
Palestra sobre MongoDB com PHP no PHP'n'Rio Palestra sobre MongoDB com PHP no PHP'n'Rio
Palestra sobre MongoDB com PHP no PHP'n'Rio
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
10 Programación Web con .NET y C#
10 Programación Web con .NET y C#10 Programación Web con .NET y C#
10 Programación Web con .NET y C#
 
ສ້າງລະບົບ Loin ດ້ວຍ php
ສ້າງລະບົບ Loin ດ້ວຍ phpສ້າງລະບົບ Loin ດ້ວຍ php
ສ້າງລະບົບ Loin ດ້ວຍ php
 
Index2
Index2Index2
Index2
 
Contes 66pdf
Contes 66pdfContes 66pdf
Contes 66pdf
 
JavascriptMVC
JavascriptMVCJavascriptMVC
JavascriptMVC
 
Advanced JQuery
 Advanced JQuery Advanced JQuery
Advanced JQuery
 
Jquery overview 2013
Jquery overview 2013 Jquery overview 2013
Jquery overview 2013
 
jQuery入門
jQuery入門jQuery入門
jQuery入門
 
Web components copy
Web components copyWeb components copy
Web components copy
 
Bootcamp Google Abidjan 2012: Workshop Gaou Search
Bootcamp Google Abidjan 2012: Workshop Gaou SearchBootcamp Google Abidjan 2012: Workshop Gaou Search
Bootcamp Google Abidjan 2012: Workshop Gaou Search
 
スマホウェブの本命 jQueryMobile
スマホウェブの本命 jQueryMobileスマホウェブの本命 jQueryMobile
スマホウェブの本命 jQueryMobile
 

WordPress Customizer

  • 1.
  • 2. wordpress 3.4 — theme customizer
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. function _sj_customize_register( $wp_customize ) { $wp_customize->get_setting( 'blogname' )->transport = 'postMessage'; $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage'; /* ... */ } add_action( 'customize_register', '_sj_customize_register' ); /** * Binds JS handlers to make Theme Customizer preview reload changes asynchronously. */ function _sj_customize_preview_js() { wp_enqueue_script( '_sj_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '', true ); } add_action( 'customize_preview_init', '_sj_customize_preview_js' );
  • 8. $wp_customize->add_setting( 'sj_header_logo', array( 'default' => get_template_directory_uri() . '/img/blog-logo.png', 'transport' => 'postMessage' ) );
  • 9. $wp_customize->add_panel( 'sj_images', array( 'title' => __( 'Images', '_sj' ), 'priority' => 10 ) );
  • 10. $wp_customize->add_section( 'header', array( 'title' => __( 'Header', '_sj' ), 'panel' => 'sj_images', 'priority' => 10 ) );
  • 11. $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'sj_header_logo', array( 'label' => __( 'Upload a header logo', '_sj' ), 'section' => 'header' ) ) );
  • 12. ( function( $ ) { // Header logo. wp.customize( 'sj_header_logo', function( value ) { value.bind( function( to ) { $( 'h1.title img' ).hide(); if ( to ) { $( 'h1.title img:not(.default)' ).attr( 'src', to ).show(); } else { $( 'h1.title img.default' ).show(); } } ); } ); } )( jQuery );
  • 13. <?php $sj_header_logo_default = get_template_directory_uri() . '/base_html/img/blog-logo.png'; $sj_header_logo = get_theme_mod( 'sj_header_logo' ); if ( empty( $sj_header_logo ) ) $sj_header_logo = $sj_header_logo_default; ?> <h1 class="title"> <a href="<?php echo esc_url( home_url( '/' ) ); ?>"> <img src="<?php echo $sj_header_logo; ?>" alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>" /> <?php if ( is_customize_preview() ) : ?> <img src="<?php echo $sj_header_logo_default; ?>" alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>" class="default" style="display: none" /> <?php endif; ?> </a> </h1>