functions.php
<?php
/**
* Menu fixed
*
*
*
*/
define('NOBITA_QUERY', 'nobita_fixed_menu' );
define('NOBITA_VALUE_TYPE', 'js'); //または、css
$nobita_external_link_value=<<<SCRIPT
jQuery(function() {
jQuery(window).scroll(function () {
if (jQuery(this).scrollTop() > 100) {
jQuery('#access').css({'position':'fixed','top':'0','z-index':'999','margin':'0'});
jQuery('.logged-in #access').css({'position':'fixed','top':'29px','z-index':'999','margin':'0'});
} else {
jQuery('#access').css({'position':'static'});
jQuery('.logged-in #access').css({'position':'static'});
}
});
});
SCRIPT;
add_action( 'after_setup_theme', 'nobita_setup_theme' );
function nobita_setup_theme(){
add_filter('query_vars','nobita_extend_query');
add_action( 'wp_enqueue_scripts', 'nobita_add_style_link', 99 );
add_action( 'template_redirect', 'nobita_external_link_value' );
}
function nobita_extend_query( $vars ) {
$vars[]= NOBITA_QUERY;
return $vars;
}
function nobita_add_style_link() {
if( NOBITA_VALUE_TYPE== 'css' ){
wp_register_style( 'nobita-extend-style', sprintf('/?%1$s=1', NOBITA_QUERY ) );
wp_enqueue_style( 'nobita-extend-style' );
} elseif ( NOBITA_VALUE_TYPE== 'js' ) {
wp_register_script( 'nobita-extend-script', sprintf('/?%1$s=1', NOBITA_QUERY ) );
wp_enqueue_script( 'nobita-extend-script' );
}
}
function nobita_external_link_value( ) {
global $nobita_external_link_value;
if( intval( get_query_var( NOBITA_QUERY ) )== 1 ) {
$mime_type= wp_get_mime_types( NOBITA_VALUE_TYPE );
if ( ! headers_sent( ) ) {
header( 'Content-type: '.$mime_type );
}
// add value check
if( NOBITA_VALUE_TYPE== 'css' ){
$nobita_external_link_value= strip_tags( $nobita_external_link_value );
} elseif ( NOBITA_VALUE_TYPE== 'js' ) {
$nobita_external_link_value= strip_tags( $nobita_external_link_value );
}
echo $nobita_external_link_value;
exit;
}
}
?>