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

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

Статус
В этой теме нельзя размещать новые ответы.
Я использую на своем сайте поиск от Гугла, поэтому, чтобы исключить возможные нагрузки на сервер, совсем обезвредил поиск Вордпресса
Код:
$_GET['s']='';
$_POST['s']='';
$_REQUEST['s']='';

И сразу вопрос: как лучше отключить автоматическую замену кавычек при выводе контента?
 
Убирай функцию wptexturize с хуков, обрабатывающих вывод
Т.е.:
PHP:
remove_filter('the_content', 'wptexturize');

remove_filter('the_title', 'wptexturize');

remove_filter('comment_text', 'wptexturize');

remove_filter('the_excerpt', 'wptexturize');

Правда если хочешь отменить только замену кавычек, а остальных символов нет, можешь вот такой фильтр накинуть
PHP:
add_filter( 'the_content', 'back_quotes' );

function back_quotes( $text ){
    return str_replace( array( '»', '«', '‘', '’' ), array( '"', '"', '\'', '\'' ),  $text);
}
 
Последнее редактирование модератором:
Написал небольшую функцию для вывода любых данных любой записи/поста в любом месте. Она действительно очень простая, но заметно упрощает жизнь, когда нужно, к примеру, собрать главную страницу из десятка больших и не очень блоков.
PHP:
function main_content($page_ID, $field, $custom = false){
    if ($custom == false) {
        $main_content = get_post( $page_ID, ARRAY_A );
        $text = $main_content['post_' . $field];
    } elseif ($custom == true) {
        $text = get_post_meta( $page_ID, $field, true );
    }
    echo $text;
}
Соответственно, чтобы вывести, например, тело страницы с ID 5:
PHP:
<?php main_content('287', 'content'); ?>

Кроме того, добавил шорткод, чтобы использовать эту функцию непосредственно в записях:
PHP:
function main_content_shortcode( $atts, $content = null ){
    extract(shortcode_atts( array(
        'id' => 1,
        'field' => 'title',
        'custom' => false
    ), $atts));
    main_content($id, $field, $custom);
}
add_shortcode('content', 'main_content_shortcode');
Шорткод, например, такой: [content id="15" field="content"]
Нетрудно заметить, что функция и шорткод поддерживают так же и произвольные поля - нужно только указать его название и передать функции true.
 
Уважаемые кодеры Wordpress, уверен тем кто серьезно занимается этим, будет полезна следующая ссылка:


Генерит много полезного кода, от банального включения меню, до ... :)
 
искал решения для себя, нашел, может кому-то еще пригодится.
Задача - подсветка рубрики в меню, если находимся на странице поста (single), который расположен в данной рубрике.
код, если менюшка работает через wp_list_categories
PHP:
add_filter('wp_list_categories','ccats');
function ccats($list) {
    if ( ! is_single() ) return $list;
    foreach((get_the_category()) as $category) {
        $temp[] = $category->cat_ID;
    }
    $temp = '/(cat-item-('.join('|',$temp).'))[ |"]/';
    $list = preg_replace($temp,' current-cat $1"',$list);
    return $list;
}
а потом в стилях css добавляем нужный код для класса .current-cat
 
По умолчанию тег wp_list_categories и так выводит классы current-cat и current-cat-parent, не?
 
По умолчанию тег wp_list_categories и так выводит классы current-cat и current-cat-parent, не?
Да, но для версий движка 2.5+. Я так понимаю, фича для более ранних версий тоже работает.

У меня есть давние проекты и на версии 2.3.3, вот для них и подойдёт сниппет.
Если не отвлекаться от темы, то предлагаю плюшку для исключения записи/страницы из результатов поиска:
PHP:
function my_search_filter($query) {
if ( !$query->is_admin && $query->is_search) {
$query->set(‘post__not_in’, array(131) ); // id страниц или записей через запятую
}
return $query;
}
add_filter( ‘pre_get_posts’, ‘my_search_filter’ );
Необходима для коррекции косяков плагинов автозаполнения результатов поиска, таких, как Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование модератором:
Убираем первый пункт админ бара со ссылками на WP
PHP:
// убираем первый пункт админ бара со ссылками на WP
function wps_admin_bar() {
    global $wp_admin_bar;
    $wp_admin_bar->remove_menu('wp-logo');
    $wp_admin_bar->remove_menu('about');
    $wp_admin_bar->remove_menu('wporg');
    $wp_admin_bar->remove_menu('documentation');
    $wp_admin_bar->remove_menu('support-forums');
    $wp_admin_bar->remove_menu('feedback');
    $wp_admin_bar->remove_menu('view-site');
}
add_action( 'wp_before_admin_bar_render', 'wps_admin_bar' );

PHP:
if ( function_exists('remove_filter') ) {
    # Отключим замену кавычек в тексте записей и страниц
    remove_filter('the_content', 'wptexturize');
    # Отключим замену кавычек в заголовках записей и страниц
    #remove_filter('the_title', 'wptexturize');
    # Отключим замену кавычек в тексте комментариев
    remove_filter('comment_text', 'wptexturize');
}

PHP:
function exclude_category ($query) {
    if ( $query->is_home ) {
        $query->set('category__not_in', array(999)); // 999 это убираемая рубрика с главной
    } elseif ( $query->is_feed ) {
        if ( ! $query->is_single and ! $query->is_archive )
        $query->set('category__not_in', array(999)); // 999 это убираемая рубрика из rss
    }
    return $query;
}
add_filter('pre_get_posts', 'exclude_category');
В последних записях на главной отображаются
 
Убрать ссылки изображений из постов
PHP:
//Убрать ссылки изображений из постов

add_filter( 'the_content', 'attachment_image_link_remove_filter' );
function attachment_image_link_remove_filter( $content ) {
$content =
preg_replace(
array('{<a(.*?)(wp-att|wp-content/uploads)[^>]*><img}',
'{ wp-image-[0-9]*" /></a>}'),
array('<img','" />'),
$content
);
return $content;
}
Инфо: Вордпресс вставляет ссылки на изображения в постах на полную его версию. Этот код убирает эти ссылки. Остается маленькое превью и уменьшенные изображения в посте не будут обрамлены ссылкой на само изображение.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху