Става въпрос за някои дописвания на кода на WordPress 2.8 с цел отстраняване на проблеми или за улесняване на работата с блога.
Проблем с паметта след инсталиране на Wordpress 2.8
Инсталираш нов Wordpress 2.8 и при влизане в админ панела в Настройки виждаш следното:
Всички полета след „Часова зона“ липсват и най-гадното е, че липсва бутона „Запис на промените“ и така не можеш да промениш нищо в тази страница. Ако направиш view source ще видиш в кода грешка подобна на следната:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7680 bytes) in /home/imesait/public_html/blog/wp-includes/functions.php(3233) : runtime-created function(2) : runtime-created function on line 1
Новата версия на Wordpress изисква доста повече памет.
Подобен проблем може да видиш и на други места в блога. Например в „Табло“ в админ панела, в блоковете за новини за Wordpress или в блоковете на някои разширения. Но където и да видиш грешка започваща с
Fatal error: Allowed memory size of…
значи става въпрос за недостиг на оперативна памет.
За да се справиш с този проблем и за да нямаш проблем при бъдещи обновявания на системата, направи следното.
Решение 1:
Отвори файла wp-config.php (в главната директория на блога) и в край на файла, НО ПРЕДИ РЕДА
require_once(ABSPATH.'wp-settings.php');
добави следното:
# ganbox.com : memory fix : http://ganbox.com/blog/хакове-за-wordpress
define('WP_MEMORY_LIMIT', '64M');
След това качи по FTP файла на сървъра и тествай. На повечето хостинги това трябва да реши проблема.
Например на superhosting.bg става, докато на host.bg не става.
Ако все пак системният администратор на хостинга е забранил това действие, предлагам ти следния хак.
Решение 2:
Отвори файла wp-includes/functions.php и някъде около ред 3203 намери:
$all = timezone_identifiers_list();
Този ред изяжда прекалено много памет и това води до грешка. Ако блога ще се ползва само от България, падащия списък с часови зони е излишен. Замести горния ред със следното:
# $all = timezone_identifiers_list();
# ganbox.com : memory optimization : http://ganbox.com/blog/хакове-за-wordpress
$all = array('Europe/Sofia');
Това вече със сигурност ще реши проблема в административната страница Настройки, след като качиш файла.
Няма проблем и дори ти препоръчвам да направиш и двете промени, за да върви страница Настройки по-бързо.
Оправяне на проблем с редирект след логаут.
Ако се намираш в статия, която има URL адрес на кирилица при login или logout би трябвало да бъдеш прехвърлен към същата статия, но вместо това попадаш в страница за грешка 404 на блога.
Решение:
Отвори файла wp-includes/pluggable.php и потърси функция function wp_sanitize_redirect($location)
(около ред 870)
Промени следващия ред от функцията:
$location = preg_replace('|[^a-z0-9-~+_.?#=&;,/:%!]|i', '', $location);
на
# ganbox.com fix $location = preg_replace('|[^a-z0-9-~+_.?#=&;,/:%!]|i', '', $location);
$location = preg_replace('|[^абвгдежзийклмнопрстуфхцчшщъьюяa-z0-9-~+_.?#=&;,/:%!]|i',
'', $location);
Качи файла wp-includes/pluggable.php и тествай. Забележка не става с „а-я“ в регулярния израз.
Бутончета за логване и бърз достъп до админ панела.
В този блог бутончето най-горе вдясно с ключа служи за логване или за изход, като след вход или изход оставаш в същата статия.
След като се логнеш това бутонче се сменя с друго на което има картинка с отворена врата и от което може да направиш логаут. По този начин бързо се ориентираш дали в момента си логнат. Освен това като си логнат се показва още един бутон с картинка гаечен ключ от който влизаш в админ панела.
Ако искаш да си направиш такива бутончета за твоя блог отвори файла
wp-content/themes/default/header.php
(където default е името на темата която ползваш)
и използвай код подобен на следния:
<div id="header">
<div align="right" id="header_links">
<a href="<?php bloginfo('url'); ?>"><img
src="<?php bloginfo('stylesheet_directory'); ?>/images/ihome.png"
width="20" height="21" alt="В началото на блога" title="В началото на блога" /></a>
<a href="/about"><img src="<?php bloginfo('stylesheet_directory'); ?>/images/iletter.png"
width="20" height="21"
alt="Контакт със SEO специалист" title="Контакт със SEO специалист" /></a>
<?php if ( !is_user_logged_in() ):?>
<a href="<?php print wp_login_url($_SERVER['REQUEST_URI']) ?>"><img
src="<?php bloginfo('stylesheet_directory')?>/images/ilogin.png"
width="20" height="21"
alt="Вход в блога с име и парола" title="Вход в блога с име и парола" /></a>
<?php else: ?>
<a href="<?php bloginfo('url'); ?>/wp-admin"><img
src="<?php bloginfo('stylesheet_directory')?>/images/tool.gif"
width="26" height="20" alt="Управление на блога" title="Управление на блога" /></a>
<a href="<?php print wp_logout_url($_SERVER['REQUEST_URI']) ?>"><img
src="<?php bloginfo('stylesheet_directory')?>/images/admin_logout.gif"
width="21" height="22" alt="Изход от блога" title="Изход от блога" /></a>
<?php endif ?>
</div>
<div id="header_title">
<h1><?php bloginfo('name'); ?></h1>
<h2><?php bloginfo('description'); ?></h2>
</div>
</div>
Картинките се поставят в папка images на темата. Може да ги изтеглиш от моя блог.
Тук съм дал целия div header от файла header.php на темата за по-лесно ориентиране.
Брой разглеждания на тази статия: 530
(след дата 20 декември 2009)
Сподели статията в
Тези бутончета са връзки към сайтове, в които можете да качите линк към тази страница.