• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Информация Wordpress: плюшки файла functions.PHP ))

Статус
В этой теме нельзя размещать новые ответы.
Улучшаем редактор, добавляя шрифт, его размер и выравнивание
Код:
add_filter("mce_buttons_3", "editor_third_row");
function editor_third_row($buttons) {
    $buttons[] = 'fontselect';
    $buttons[] = 'fontsizeselect';
    $buttons[] = 'styleselect';
    $buttons[] = 'hr';
    $buttons[] = 'del';
    $buttons[] = 'sub';
    $buttons[] = 'sup';
    $buttons[] = 'cleanup';
    return $buttons;
}
 
Править код считаю неразумным, после обновления придется делать все заново. Выше был предложен мод куда уже вошло несколько твиков, вот его и надо бы расширять. Но опять же многие моды и так такие твики предлагают либо в нагрузку либо в качестве доп настройки.
 
Плюшечка.
Подключение библиотеки JQuery с CDN сервера.
Впринципе js библиотеки нужно подключать в футере, быстрее будет показан контент. Исключение если js участвует в первоначальном формировании контента (в WP это редко встречается).
PHP:
/**
* Отключение штаной загрузки библиотеки JQuery
*/
if (!is_admin()) {
    add_action("wp_enqueue_scripts", "deregister_jquery", 10);
}
function deregister_jquery() {
    wp_deregister_script('jquery');
}
/**
* Подключение js библиотек в футере через хук wp_footer
*/
if (!is_admin()) {
    add_action( 'wp_footer', 'get_footer_libs' );
}
function get_footer_libs() {
    echo '    <!-- JS -->';
    // Последний JQuery (при необходимеости нужно заменить на поддерживаемую версию)
    echo '    <script src="http://code.jquery.com/jquery-latest.min.js"></script>';
    // Для старых версий IE
    echo '    <!--[if lt IE 9]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->';
}
По аналогии можно перенести остальные библиотеки в футер.
 
Код:
DELETE `p`, `pm`, `c`, `tr`
FROM `wp_posts` AS `p`
LEFT JOIN `wp_postmeta` AS `pm`
ON `p`.`ID` = `pm`.`post_id`
LEFT JOIN `wp_comments` AS `c`
ON `p`.`ID` = `c`.`comment_post_ID`
LEFT JOIN `wp_term_relationships` AS `tr`
ON `p`.`ID` = `tr`.`object_id`
WHERE
`p`.`post_type` = 'revision';


DELETE FROM wp_posts WHERE post_type = 'revision';

DELETE FROM `wp_postmeta`
WHERE `meta_key` IN('_edit_lock', '_edit_last','_wp_old_slug')

Вот это держу постоянно при себе, помогает очищать базу данных Вордпресса от всякого мусора!
 
Была ситуация когда престал работать визуальный и текстовый редактор из-за конфликта скриптов, решилось добавлением в файл конфигурации wp-config.php строчки:
Код:
 define('CONCATENATE_SCRIPTS', false);
 
Код:
DELETE `p`, `pm`, `c`, `tr`
FROM `wp_posts` AS `p`
LEFT JOIN `wp_postmeta` AS `pm`
ON `p`.`ID` = `pm`.`post_id`
LEFT JOIN `wp_comments` AS `c`
ON `p`.`ID` = `c`.`comment_post_ID`
LEFT JOIN `wp_term_relationships` AS `tr`
ON `p`.`ID` = `tr`.`object_id`
WHERE
`p`.`post_type` = 'revision';


DELETE FROM wp_posts WHERE post_type = 'revision';

DELETE FROM `wp_postmeta`
WHERE `meta_key` IN('_edit_lock', '_edit_last','_wp_old_slug')

Вот это держу постоянно при себе, помогает очищать базу данных Вордпресса от всякого мусора!
это очень болезненная тема для базы с большим количеством постов и метаинформации

Была ситуация когда престал работать визуальный и текстовый редактор из-за конфликта скриптов, решилось добавлением в файл конфигурации wp-config.php строчки:
Код:
define('CONCATENATE_SCRIPTS', false);
примечательно, что в wp-includes\script-loader.php есть ещё
Код:
* Several constants are used to manage the loading, concatenating and compression of scripts and CSS:
* define('SCRIPT_DEBUG', true); loads the development (non-minified) versions of all scripts and CSS, and disables compression and concatenation,
* define('CONCATENATE_SCRIPTS', false); disables compression and concatenation of scripts and CSS,
* define('COMPRESS_SCRIPTS', false); disables compression of scripts,
* define('COMPRESS_CSS', false); disables compression of CSS,
* define('ENFORCE_GZIP', true); forces gzip for compression (default is deflate).
*
* The globals $concatenate_scripts, $compress_scripts and $compress_css can be set by plugins
* to temporarily override the above settings. Also a compression test is run once and the result is saved
* as option 'can_compress_scripts' (0/1). The test will run again if that option is deleted.
 
Последнее редактирование модератором:
Вот вам плюшка:
Добавление этой функции в файл functions.php используемой вами темы удалит все пункты меню.
Код:
function remove_menus(){
remove_menu_page( 'index.php' );  //Консольremove_menu_page( 'edit.php' );  //Записиremove_menu_page( 'upload.php' );  //Медиафайлыremove_menu_page( 'edit.php?post_type=page' );  //Страницыremove_menu_page( 'edit-comments.php' );  //Комментарииremove_menu_page( 'themes.php' );  //Внешний видremove_menu_page( 'plugins.php' );  //Плагиныremove_menu_page( 'users.php' );  //Пользователи
remove_menu_page( 'tools.php' );  //Инструменты
remove_menu_page( 'options-general.php' );  //Настройки
}
add_action( 'admin_menu', 'remove_menus' );
Если вы хотите удалить только один пункт, например, меню Настроек, используйте код ниже:
function remove_menus(){
remove_menu_page( 'options-general.php' ); //Настройки
}
add_action( 'admin_menu', 'remove_menus' );
Можно использовать этот же способ для удаления меню плагинов. Для этого нажмите на пункт меню, чтобы получить его URL и скопируйте последнюю его часть в вышеупомянутую функцию. Например, для удаления типа поста портфолио с таким URL:
Для просмотра ссылки Войди или Зарегистрируйся
Используйте такой код:
function remove_menus(){
remove_menu_page( 'edit.php?post_type=portfolio' );
}
add_action( 'admin_menu', 'remove_menus' );

=============================================

И МОЙ ВОПРОС. Думаю это уже тут было:
Код:
function replace_text_wps($text){
    $replace = array(
    // 'WORD TO REPLACE' => 'REPLACE WORD WITH THIS'
    'Download' => 'Скачать',
'Demo' => 'Демо',
        );
    $text = str_replace(array_keys($replace), $replace, $text);
    return $text;
}
add_filter('the_content', 'replace_text_wps');
add_filter('the_excerpt', 'replace_text_wps');
add_filter('the_title', 'replace_text_wps');
add_filter('the_tags', 'replace_text_wps');

Код позволяет произвести замену текста, если он встречается в (the_content, the_excerpt, the_title) на лету. Есть возможность замены на ссылку, удобно при перелинковке.
Вопрос следующий, почему это все работает с контентом, заголовком, НО НЕ РАБОТАЕТ С ТЕГАМИ.
Помогите, в чем может быть ошибка, теги не меняются, хотя я в кодексе пробивал что обьявление именно the_tags.
Для меня это очень важно, ребят, помогите.
 
Последнее редактирование:
Отличный код. Начисто закрывает всем пользователям, кроме администратора, вход в админку
закрываем всем пользователям — кроме админа доступ к Админ Панели

Код:
function prevent_admin_access()
{
  // Делаем проверку, что попытка захода не использует AJAX REQUEST. Иначе, некоторые плагины работать не будут
  if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) || empty($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest')
  {
  if ( false !== strpos( strtolower( $_SERVER['REQUEST_URI'] ), '/wp-admin' ) && !current_user_can( 'administrator' ))
  {
  wp_redirect( home_url() );
  }
  }
}
add_action( 'init', 'prevent_admin_access', 0 );
 
Последнее редактирование:
Не знаю есть ли в теме, но вот плюшки используемые мной:
1. Отключение админ-бара для всех, кроме админа:
PHP:
function disable_admin_bar() {
   if ( !current_user_can("administrator") ) {
      add_filter( 'show_admin_bar', '__return_false' );
      add_action( 'admin_print_scripts-profile.php',
          'hide_admin_bar_settings' );
   }
}
add_action( 'init', 'disable_admin_bar' , 9 );
2. Оформление страницы входа на сайт:
PHP:
function gb_custom_login_css()
{
echo PHP_EOL .'
<style type="text/css">
#login h1 a {background-image: url(/logo.jpg)!important; width: 265px; height: 55px; -webkit-background-size: 265px 55px; background-size: 265px 55px; }
#login #backtoblog {display: none !important; }
</style>' . PHP_EOL;
}
add_action('login_head', 'gb_custom_login_css');

function gb_custom_loginlogo_url($url)
{
return 'http://myunreal.ru';
}
add_filter('login_headerurl', 'gb_custom_loginlogo_url');


function gb_custom_loginlogo_title($url)
{
return 'cайт посвященный группе UNREAL';
}
add_filter('login_headertitle', 'gb_custom_loginlogo_title');
function hide_admin_bar_settings() {
?>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху