Промяна #13-15

Пак след голям застой, се почовърках по темата и взеха че се появиха някакви яки работи

Промените в случая са три на куп…

Промяна #13

Тук изтрих основната директория на темата…

 

Промяна #14

Тук се случиха многото неща…

  • Промениха се името/описанието/директорията на темата – в крайна сметка прецених че съм направил достатъчно промени, че да мога спокойно да си прекръстя темата
  • Интегрирах Options Framework-a, като в същото време направих и някои корекции(описани по-долу)
  • Добавих Open Graph meta тагове, контролирани от новите Theme Options
  • Променящ се box-shadow за основната картинка, както и за всички изображения които се отварят във FancyBox, както и за самия FancyBox.
  • Добавих първия hook в темата
  • Направих малка промяна по widget-a за връзки към архиви и feed-ове на категориите

Промяна #15

Тук само изтрих ненужните файлове от lib/cache директорията и добавих svn:ignore(със стойност „*“) property на lib/cache и lib/temp директориите. Това автоматично игнорира всички файлове намиращи се в тези директории и по този начин не позволява да се добавят в svn хранилището.

 

 

Сега по-подробно за промените

Темата вече не се казва „Night Sky“ 1.0, а „Moon Watch“ 1.1. В описанието все още се споменава, че това е модифицирана версия на „Night Sky“.

 

Относно интеграцията на Options Framework-a – по принцип това което е дадено там е направено да работи от основната директория на темата. Понеже обаче аз предпочитам core файловете да са в папка lib/, а не в основната директория трябваше малко да поровичкам кода – фикса беше доста лесен в общи линии – промених само две константи които държаха пътя – едната за сървърния път и другата за url пътя…

Също така от кода коментирах една функция която премахва Theme Options на Twenty Eleven темата. И последното нещо което промених беше да направя Theme Options основно меню, вместо под-меню на Appearance менюто и да го сложа най-горе.

 

Open Graph meta таговете(ползват от Facebook), както и цветовете за всеки един часови период се контролират от Theme Options страницата, което ми дава възможност да променям тези настройки изключително лесно

 

Сега за „фенси“ сенките които се променят 4 пъти в денонощието Ето списък с цветовете(в момента) за различните части от деня:

  • 24:00 – 06:00 –      
  • 06:00 – 12:00 –      
  • 12:00 – 18:00 –      
  • 18:00 – 24:00 –      

Ако разгледате кода на която и да е страница ще видите

<link rel="stylesheet" href="http://themoonwatch.com/?mw_get_styles=1" type="text/css" media="screen" /> 

Това е линк към динамично генерирана стилова таблица, в която за сега се добавят само стиловете за текущия box-shadow.

 

Стигнах и до момента с първия hook(ако не сте запознати с hook-овете в WordPress, цъкнете тук)в темата. Той се активира, когато в текущото URL има следната част: „?mw_get_styles“ или „&mw_get_styles„. Ето самата функция:

function mw_print_dynamic_styles_hook() {
	if ( isset($_GET['mw_get_styles']) ) {
		// Това казва на браузъра, че съдържанието ще е стилова таблица
		header("Content-type: text/css");

		// Тук се вика така нареченото "действие", или "action", към което могат да се вързват функции
		do_action('mw_print_dynamic_styles');

		exit;
	}
}
// Тук добавям горната функция към действието "init", с приоритет 1
add_action('init', 'mw_print_dynamic_styles_hook', 1);
// Тази функция принтира стиловете за "фенси" сенките
function print_daytime_color_styles($value='') {
	$prefix = daytime_class();
	$color = of_get_option($prefix . '_color');
	if ( $color != '' ) {

 ?>
.<?php echo $prefix; ?> #img,
.<?php echo $prefix; ?> #fancy_bg,
.<?php echo $prefix; ?> a.fancybox img {
	-webkit-box-shadow: 0 0 16px 4px <?php echo $color; ?>;
	-moz-box-shadow: 0 0 16px 4px <?php echo $color; ?>;
	box-shadow: 0 0 16px 4px <?php echo $color; ?>;
}
<?php 
	}
}
add_action('mw_print_dynamic_styles', 'print_daytime_color_styles', 10);

Ииии това ще е за тази вечер, че пак се отнесох много
Както и да е тея дни ще има още някои обновления
 

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *