Пишу пробный пост из программы post2blog. Если честно немного надоело заходить на сайт и писать посты от туда. Решил заюзать какую нибудь прогу для этого.
Может теперь буду чаще писать в блог. Так что читайте, подписывайтесь!!
Пишу пробный пост из программы post2blog. Если честно немного надоело заходить на сайт и писать посты от туда. Решил заюзать какую нибудь прогу для этого.
Может теперь буду чаще писать в блог. Так что читайте, подписывайтесь!!
Всё никак не мог навернуться написать статью о Консоли в wordpress. Собрал много полезных хаков, но использую только некоторые. Вот о них речь и пойдёт.
Когда создаюшь блог под ключь для клиента, возможно было бы не плохой идеей убрать некоторые пункты меню из админки воизбежания дальнейших проблем. Таких как удаление заказанного шаблона или плагина.
Всё что нам потребуется, так это в файле functions.php нашего шаблона добавить ещё пару строк.
function remove_menus () {
global $menu;
$restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:”" , $restricted)){unset($menu[key($menu)]);}
}
}
add_action(’admin_menu’, ‘remove_menus’);
В значении $restricted указываем какие пункты меню удалить.
Данный хак я уэе описывал здесь
Ну здесь всё понятно. Мне она покрайней мере только мешает. Защищать свой блог я пытаюсь сам, а каждый раз устанавливать новые версии которые кушаю всё больше и больше желания нет. Поэтому отключаем её добавив в functions.php
if ( !current_user_can( 'edit_users' ) ) {
add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
}
Ну здесь также. Нагружает. Иногда бывает медленный интернет - хочется побыстрому заскочить в админку, написать пару слов и свалить, а эти виджеты грузят страницу, при том что я ними совершенно не пользуюсь. Поэтому - удаляем вставив в functions.php
function example_remove_dashboard_widgets() {
// Globalize the metaboxes array, this holds all the widgets for wp-admin
global $wp_meta_boxes;// Remove the incomming links widget
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']); // Remove right now
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
} // Hoook into the ‘wp_dashboard_setup’ action to register our function
add_action(’wp_dashboard_setup’, ‘example_remove_dashboard_widgets’ );
Вот это я считаю самым полезным хаком и думаю что не требуется слов чтобы объяснять что это такое. Просто правим functions.php своей темы и наслаждаемся.
function slt_PHPErrorsWidget() {
$logfile = ‘/home/path/logs/php-errors.log’; // Enter the server path to your logs file here
$displayErrorsLimit = 100; // The maximum number of errors to display in the widget
$errorLengthLimit = 300; // The maximum number of characters to display for each error
$fileCleared = false;
$userCanClearLog = current_user_can( ‘manage_options’ );
// Clear file?
if ( $userCanClearLog && isset( $_GET["slt-php-errors"] ) && $_GET["slt-php-errors"]==”clear” ) {
$handle = fopen( $logfile, “w” );
fclose( $handle );
$fileCleared = true;
}
// Read file
if ( file_exists( $logfile ) ) {
$errors = file( $logfile );
$errors = array_reverse( $errors );
if ( $fileCleared ) echo ‘<p><em>File cleared.</em></p>’;
if ( $errors ) {
echo ‘<p>’.count( $errors ).’ error’;
if ( $errors != 1 ) echo ’s’;
echo ‘.’;
if ( $userCanClearLog ) echo ‘ [ <b><a href="'.get_bloginfo("url").'/wp-admin/?slt-php-errors=clear" onclick="return confirm(\'Are you sure?\');">CLEAR LOG FILE</a></b> ]‘;
echo ‘</p>’;
echo ‘<div id=”slt-php-errors” style=”height:250px;overflow:scroll;padding:2px;background-color:#faf9f7;border:1px solid #ccc;”>’;
echo ‘<ol style=”padding:0;margin:0;”>’;
$i = 0;
foreach ( $errors as $error ) {
echo ‘<li style=”padding:2px 4px 6px;border-bottom:1px solid #ececec;”>’;
$errorOutput = preg_replace( ‘/\[([^\]]+)\]/’, ‘<b>[$1]</b>’, $error, 1 );
if ( strlen( $errorOutput ) > $errorLengthLimit ) {
echo substr( $errorOutput, 0, $errorLengthLimit ).’ [...]‘;
} else {
echo $errorOutput;
}
echo ‘</li>’;
$i++;
if ( $i > $displayErrorsLimit ) {
echo ‘<li style=”padding:2px;border-bottom:2px solid #ccc;”><em>More than ‘.$displayErrorsLimit.’ errors in log…</em></li>’;
break;
}
}
echo ‘</ol></div>’;
} else {
echo ‘<p>No errors currently logged.</p>’;
}
} else {
echo ‘<p><em>There was a problem reading the error log file.</em></p>’;
}
}
// Add widgets
function slt_dashboardWidgets() {
wp_add_dashboard_widget( ’slt-php-errors’, ‘PHP errors’, ’slt_PHPErrorsWidget’ );
}
add_action( ‘wp_dashboard_setup’, ’slt_dashboardWidgets’ );
Ну вроде бы пока что всё. Фух. Осилил. Кто что использует - в камменты!

Данный хак очень пригодится для людей которые делают блоги под ключ. Логотип wordpress конечно симпатичный, но иногда заказчики хотят что-то своё. Для этого конечно можно использовать плагин и нагружать итак тяжёлый движок, либо использовать ниже приведённый хак.
Итак всё что нам потребуется это приготовить логотип и дописать код в файл functions.php нашей темы.
function my_custom_login_logo() {
echo '<style type="text/css">
h1 a { background-image:url('.get_bloginfo('template_directory').'/images/ваш-логотип.gif) !important; }
</style>';
}add_action('login_head', 'my_custom_login_logo');
Вот и всё. Всем приятной работы.
Как известно, постоянные читатели вашего блога редко нажимают на рекламу размещённую у вас, а также она их очень раздражает. А я как раз в инете нашёл решение данной проблемы, так как реклама в постах у нас будет показываться теперь только в старых.
Для этого надо вставить в файл functions.php вашей темы:
function is_old_post($post_id=null){
$days = 15;
global $wp_query;
if(is_single() || is_page()) {
if(!$post_id) {
$post_id = $wp_query->post->ID;
}
$current_date = time();
$offset = $days *60*60*24;
$post_id = get_post($post_id);
$post_date = mysql2date('U',$post_id->post_date);
$cunning_math = $post_date + $offset;
$test = $current_date - $cunning_math;
if($test > 0){
$return = true;
}else{
$return = false;
}
}else{
$return = false;
}
return $return;
}
Теперь в файле single.php нужно обрамить рекламу и всё.
<?php if(is_old_post()){ ?>
INSERT AD CODE HERE
<?php } ?>
Все твердят web 2.0, а что это такое ни кто объяснить не может.
З.Ы. Сегодня носил свою кошечку в ветлечебницу. Всё оказалось не так страшно как я думал.

Использование хаков может довольно облегчить работу с wordpress`ом, а также позволит быстро его модивицировать. Ниже я приведу код который будет автоматически вставлять в конец каждого поста биографию автора.
Всё что нам нужно это вставить код в файл functions.php вашей темы.
function get_author_bio ($content=''){
global $post;$post_author_name=get_the_author_meta("display_name");
$post_author_description=get_the_author_meta("description");
$html="<div class='clearfix' id='about_author'>\n";
$html.="<img width='80' height='80' class='avatar' src='http://www.gravatar.com/avatar.php?gravatar_id=".md5(get_the_author_email()). "&default=".urlencode($GLOBALS['defaultgravatar']).”&size=80&r=PG’ alt=’PG’/>\n”;
$html.=”<div class=’author_text’>\n”;
$html.=”<h4>Author: <span>”.$post_author_name.”</span></h4>\n”;
$html.= $post_author_description.”\n”;
$html.=”</div>\n”;
$html.=”<div class=’clear’></div>\n”;
$content .= $html;
}return $content;
}add_filter(’the_content’, ‘get_author_bio’);
2 колонки 3 колонки Annonce box Blogun CSS Dimox Donation Bar functions.php HiText java javascript jquery jTruncate Liex Linkfeed Linkfeedator MainLink microbloging rel=canonical rotator Sape Simple Page Peel Effect System Teasernet Twitter Wordpress Wordpress хак АГС-17 АГС-30 Виджет Дмитрий Лялин. Домен Разное Шаблоны Яндекс акция анатомия биржа блог микроблогинг плагин jquery хаки хостинг шаблон шаблоны wordpress
WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.