Это мой первый вопрос на сервисе, не IT-специалист, а любитель. За сим прошу не судить строго ; )
В интернете распространено содержание одной статьи, она встречается на китайском и даже на русском! sic!
В ней говорится о методе фиксации контейнера при помощи обращения к скрипту
Jquery и
CSS.
Обращение имеет вид:
$(".sidebar").autofix_anything();
и применимо к контейнеру:
<div class="wrapper">
..
<div class="sidebar">..</div>
..
</div>
Пробую применить метод к блогу на Wordpress со стандартной темой 2012. Скрипт подключен в директории js/
jquery.autofix_anything.js загружается между
<header></header>
Аналогично подключил таблицу стилей
autofix_anything.css
Пробовал вызывать функцию изменив ее из-за
noConflict() mode.
Соответственно мой вызов внутри тэга
script такой:
jQuery(document).ready(function(){
$(".navbar").autofix_anything();
});
для HTML темы:
<div id="navbar" class="navbar">
<nav id="site-navigation" class="main-navigation" role="navigation">
<script type="text/javascript">jQuery(document).ready(function(){
$(".navbar").autofix_anything();
});</script>
<h3 class="menu-toggle"><?php _e( 'Menu', 'twentytwelve' ); ?></h3>
<a class="assistive-text" href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentytwelve' ); ?>"><?php _e( 'Skip to content', 'twentytwelve' ); ?></a>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
</nav><!-- #site-navigation -->
Увы, результатов нет. Причина в неверном вызове функции? может в местоположении? Пробовал в header.php до и после
head
ДОПОЛНЕНИЕ. Подключение скрипта и таблицы стилей в functions.php:
function enqueue_and_register_autofix(){
wp_register_script( 'jquery.autofix_anything.js', get_stylesheet_directory_uri() . '/js/jquery.autofix_anything.js' );
wp_enqueue_script( 'jquery.autofix_anything.js', get_stylesheet_directory_uri() . '/js/jquery.autofix_anything.js', array( 'jquery'), 'jquery.autofix_anything.js', true );
}
add_action( 'wp_enqueue_scripts', 'enqueue_and_register_autofix' );
function autofix_anything() {
if ( ! is_admin() ) {
wp_enqueue_style( 'autofix_anything.css', get_template_directory_uri() . '/autofix_anything.css' );
}
}
add_action( 'wp_enqueue_scripts', 'autofix_anything', 11 );
Вызываемая функция:
<script type="text/javascript">jQuery(document).ready(function(){
jQuery(".navbar").autofix_anything();
});</script>
Так заработало.