Здесь предлагаю вам рассмотреть еще один способ подключения javascript в WordPress.
Скачать исходники для статьи можно ниже
Что такое индивидуальный шаблон можно прочитать в моей предыдущей статье: Индивидуальный шаблон страниц в WordPress: понятие, использование, создание, редактирование.
Для примера, приведенного ниже я буду использовать тему под названием “Europe”, данная тема есть на wordpress.org, поэтому чтобы ее установить или скачать достаточно в панели вашего сайта выбрать в левом меню пункт “Внешний вид”, далее подпункт “Темы оформления”, перейти на закладку “Установка тем оформления” и в строке поиска ввести Europe.
Приступим!
Создаем индивидуальный шаблон страницы, например на основе файла page.php темы и получаем приблизительно следующее:
<?php
/*
Template Name: moishablon
*/
?>
<?php get_header(); ?>
<div class="grid_11">
<div id="content">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h1 class="entry-title"><?php the_title(); ?></h1>
<div class="entry">
<?php the_content('Continue reading →'); ?>
<div class="clearfix"></div>
<?php wp_link_pages(array('before' => '<p><strong>Pages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>
</div>
</div>
<?php endwhile; endif; ?>
<?php edit_post_link('Edit', '<p>', '</p>'); ?>
<?php comments_template( '', true ); ?>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Предположим,что нам нужно подключить небольшой javascript, позволяющий создать простенькие часики, вот данный скрипт:
<script type="text/javascript">
var d=document
var NN=d.layers?true:(window.opera&&!d.createComment)?true:false
function showTime(){
var tmN=new Date()
var dH=''+tmN.getHours();dH=dH.length<2?'0'+dH:dH
var dM=''+tmN.getMinutes();dM=dM.length<2?'0'+dM:dM
var dS=''+tmN.getSeconds();dS=dS.length<2?'0'+dS:dS
var tmp=dH+':'+dM+':'+dS
if(NN)d.F.chas.value=tmp;else d.getElementById('tm').innerHTML=tmp
var t=setTimeout('showTime()',1000)
}
</script>
<div id=tm><form name="F"><input type="button" name="chas" value="XX:XX:XX"></form></div>
<script type="text/javascript">showTime()</script>
Так вот вы можете полностью удалить весь контент странички и вставить вместо него нужный вам javascript, тогда это будет выглядеть следующим образом:
<?php
/*
Template Name: moishablon
*/
?>
<?php get_header(); ?>
<div class="grid_11">
<div id="content">
<script type="text/javascript">
var d=document
var NN=d.layers?true:(window.opera&&!d.createComment)?true:false
function showTime(){
var tmN=new Date()
var dH=''+tmN.getHours();dH=dH.length<2?'0'+dH:dH
var dM=''+tmN.getMinutes();dM=dM.length<2?'0'+dM:dM
var dS=''+tmN.getSeconds();dS=dS.length<2?'0'+dS:dS
var tmp=dH+':'+dM+':'+dS
if(NN)d.F.chas.value=tmp;else d.getElementById('tm').innerHTML=tmp
var t=setTimeout('showTime()',1000)
}
</script>
<div id=tm><form name="F"><input type="button" name="chas" value="XX:XX:XX"></form></div>
<script type="text/javascript">showTime()</script>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Как видите я оставил шапку, сайдбар и подвал на страничке.
Также я оставил два блока:
<div class="grid_11"> <div id="content"> ... </div> </div>
Они нужны для того, чтобы сохранить структуру сайта (сайдбар будет располагаться правильно).
В результате у меня получилось следующее:
А если бы я не оставил два вышеуказанных блока, то получил бы следующее:
Но если например удалить сайдбар, то необходимость в вышеуказанных двух блоках пропадет.
Рассмотрим как тогда будет выглядеть код индивидуального шаблона:
<?php
/*
Template Name: moishablon
*/
?>
<?php get_header(); ?>
<script type="text/javascript">
var d=document
var NN=d.layers?true:(window.opera&&!d.createComment)?true:false
function showTime(){
var tmN=new Date()
var dH=''+tmN.getHours();dH=dH.length<2?'0'+dH:dH
var dM=''+tmN.getMinutes();dM=dM.length<2?'0'+dM:dM
var dS=''+tmN.getSeconds();dS=dS.length<2?'0'+dS:dS
var tmp=dH+':'+dM+':'+dS
if(NN)d.F.chas.value=tmp;else d.getElementById('tm').innerHTML=tmp
var t=setTimeout('showTime()',1000)
}
</script>
<div id=tm><form name="F"><input type="button" name="chas" value="XX:XX:XX"></form></div>
<script type="text/javascript">showTime()</script>
<?php get_footer(); ?>
А сайт будет выглядеть следующим образом:
То есть сразу после шапки идет скрипт и после него подвал (футер).
Однако, javascript можно вставить в любое место в коде индивидуального шаблона.
Например, чтобы вставить часики между названием статьи и его контентом, нужно сделать так:
<?php
/*
Template Name: moishablon
*/
?>
<?php get_header(); ?>
<div class="grid_11">
<div id="content">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<h1 class="entry-title"><?php the_title(); ?></h1>
<script type="text/javascript">
var d=document
var NN=d.layers?true:(window.opera&&!d.createComment)?true:false
function showTime(){
var tmN=new Date()
var dH=''+tmN.getHours();dH=dH.length<2?'0'+dH:dH
var dM=''+tmN.getMinutes();dM=dM.length<2?'0'+dM:dM
var dS=''+tmN.getSeconds();dS=dS.length<2?'0'+dS:dS
var tmp=dH+':'+dM+':'+dS
if(NN)d.F.chas.value=tmp;else d.getElementById('tm').innerHTML=tmp
var t=setTimeout('showTime()',1000)
}
</script>
<div id=tm><form name="F"><input type="button" name="chas" value="XX:XX:XX"></form></div>
<script type="text/javascript">showTime()</script>
<div class="entry">
<?php the_content('Continue reading →'); ?>
<div class="clearfix"></div>
<?php wp_link_pages(array('before' => '<p><strong>Pages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>
</div>
</div>
<?php endwhile; endif; ?>
<?php edit_post_link('Edit', '<p>', '</p>'); ?>
<?php comments_template( '', true ); ?>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
И выглядеть это будет следующим образом:
Вот впринципе и все о чем хотелось рассказать в данной статье.

