• Создание шоркода
    
    <?php 
    
    /*Вставить код в functions.php темы*/
    add_shortcode('slider_gl','slider_gl_shortcode' );

    function 
    foobar_shortcode$atts ){
        return 
    'Привет! Я шорткод.';
    }

    /*Вызвать в визуальном редакторе*/
    [slider_gl][/slider_gl]

    /*Вызвать в файле php*/
    echo do_shortcode("[slider_gl]");
    ?>
  • Подключение css для админки сайте через тему сайта
    
    <?php
    
    //внешний файл стилей в админке из папки темы start
    function wph_add_css_file_admin() {
        
    $themeurl get_bloginfo('stylesheet_directory');
        echo 
    '<link rel="stylesheet" href="'.$themeurl.'/myfile.css" 
        type="text/css" media="all" />'
    ;
    }
    add_action('admin_head''wph_add_css_file_admin');
    //внешний файл стилей в админке из папки темы end
    ?>
  • Ограничение строки
    
    <?php 
    
    add_action
    ('admin_head''wph_add_css_file_admin');
    //внешний файл стилей в админке из папки темы end
    function custom_excerpt_length($excerpt){
        
    $characters 230// Количество символов
        
    if (strlen($excerpt) > $characters && substr($excerpt0strpos($excerpt' '$characters))!='') {
            return 
    substr($excerpt0strpos($excerpt' '$characters));
        }
            return 
    $excerpt;
        

    }
    add_filter('the_excerpt''custom_excerpt_length');
    ?>
  • Ссылка на миниатюру
    
    <?php 
    
    the_post_thumbnail_url
    (800,600);
    ?>
  • ID рубрики
    
    <?php 
    
    $category 
    get_queried_object();
    $cat_id $category->term_id;
    ?>
  • id - пользователя
    
     <?php echo get_current_user_id(); ?>
    
    
  • sidebar
    
    <?php if(function_exists('register_sidebar'))
    
        
    register_sidebar(array('name' => 'login')); /*Регистрация sidebar - добавляется в файл functions.php темы*/
    echo dynamic_sidebar('login'); /*Вывод sidebar*/
    ?>
  • Шоркод вида #название шоркода#
    
    <?php function get_current_region() {
    
        
    // Здесь логика получения региона
        // Например, из настроек, пользовательских данных или URL
        // Для примера вернем статическое значение:
        
    return $_SESSION['REGIONrd'];
    }
    // Функция для замены шаблонов вида #название региона#
    function replace_region_placeholders($content) {
        return 
    preg_replace_callback(
            
    '/#([^#]+)#/'// ищем все #что_угодно#
            
    function($matches) {
                
    $placeholder trim($matches[1]);
                if (
    $placeholder == 'в регионе') {
                    return 
    get_current_region();
                }
                
    // Можно добавить другие условия для разных placeholder
                
    return $matches[0]; // оставить как есть, если не совпадает
            
    },
            
    $content
        
    );
    }

    // Применяем к содержимому постов и страниц
    add_filter('the_content''replace_region_placeholders');


    // Функция для замены шаблонов внутри элементов меню
    function replace_placeholders_in_menu($items$args) {
        foreach (
    $items as &$item) {
            if (
    strpos($item->title'#') !== false) {
                
    $item->title preg_replace_callback(
                    
    '/#([^#]+)#/',
                    function(
    $matches) {
                        
    $placeholder trim($matches[1]);
                        if (
    $placeholder == 'в регионе') {
                            return 
    get_current_region();
                        }
                        
    // Можно добавить другие условия
                        
    return $matches[0];
                    },
                    
    $item->title
                
    );
            }
        }
        return 
    $items;
    }
    add_filter('wp_nav_menu_objects''replace_placeholders_in_menu',10,2);
    add_filter('wpseo_title''custom_wpseo_title'); // title - заменяет
    add_filter('wpseo_opengraph_title''custom_wpseo_title'); // og:title - заменяет
    function custom_wpseo_title($title) {
        return 
    preg_replace_callback(
            
    '/#([^#]+)#/',
            function(
    $matches) {
                
    $placeholder trim($matches[1]);
                if (
    $placeholder == 'в регионе') {
                    return 
    get_current_region();
                }
                return 
    $matches[0];
            },
            
    $title
        
    );
    }
    add_filter('wpseo_metadesc''custom_wpseo_metadesc'); // description - заменяет
    add_filter('wpseo_opengraph_desc''custom_wpseo_metadesc'); // og:description - заменяет
    function custom_wpseo_metadesc($desc) {
        return 
    preg_replace_callback(
            
    '/#([^#]+)#/',
            function(
    $matches) {
                
    $placeholder trim($matches[1]);
                if (
    $placeholder == 'в регионе') {
                    return 
    get_current_region();
                }
                return 
    $matches[0];
            },
            
    $desc
        
    );
    }
    ?>
  • Шаблон для рубрик
    
    category-3.php /*3 - id рубрик*/
    
  • Вывод миниатюры
    
    <?php the_post_thumbnail(); ?>
    
    
  • Шаблон для записи
    
    // - установить плагины:
    
    1) Custom Post Templates
    2) Single Post Template
    // - на php прописать
    /*
    Template Name Posts: Статья
    */
  • Добавить выбор маркера в визуальный редактор для tinymce
    
    /*Добавляем в functions.php */
    
    // Регистрация кнопки и расширения TinyMCE
    add_action('admin_init', 'add_my_tinymce_button');

    function add_my_tinymce_button() {
        // Проверяем возможность редактирования
        if (current_user_can('edit_posts') && current_user_can('edit_pages')) {
            add_filter('mce_buttons', 'register_custom_button');
            add_filter('mce_external_plugins', 'load_custom_tinymce_plugin');
        }
    }

    function register_custom_button($buttons) {
        // Добавляем нашу кнопку в тулбар
        array_push($buttons, 'my_marker_button');
        return $buttons;
    }

    function load_custom_tinymce_plugin($plugin_array) {
        // Подключаем внешний JS файл плагина
        $plugin_array['my_marker_plugin'] = get_bloginfo('template_url').'/js/marker.js';
        return $plugin_array;
    }
    //внешний файл стилей в админке из папки темы start
    function wph_add_css_file_admin() {
        $themeurl = get_bloginfo('stylesheet_directory');
        echo '<link rel="stylesheet" href="'.$themeurl.'/css/admin-style.css"
        type="text/css" media="all" />';
    }
    add_action('admin_head', 'wph_add_css_file_admin');
    //внешний файл стилей в админке из папки темы end

    function my_custom_editor_styles() {
        add_theme_support('editor-styles'); // Активировать поддержку стилей редактора
        // Подключить ваш файл стилей (например, style-editor.css)
        add_editor_style('css/admin-style.css');
    }
    add_action('after_setup_theme', 'my_custom_editor_styles');
    add_editor_style();

    /*Создаем файл marker.js - в теме*/
    (function() {
    tinymce.create('tinymce.plugins.my_marker_plugin', {
    init : function(editor, url) {
    editor.addButton('my_marker_button', {
    type: 'menubutton',
    text: 'Маркеры',
    icon: true,
    // Можно убрать html: true, так как лучше использовать 'html' внутри элементов меню
    menu: [
    {
    icon: ' dsqueri',
    onclick: function() {
    editor.insertContent('<ul class="square"><li></li></ul>');
    }
    }
    ]
    });
    }
    });
    tinymce.PluginManager.add('my_marker_plugin', tinymce.plugins.my_marker_plugin);
    })();
  • Вывод автора
    
    <?php echo get_avatarget_the_author_meta'ID' ), 100 ); /*- логин*/ 
    
    echo get_the_author_meta('first_name'); /*Имя*/
    get_the_author_meta('last_name'); /*Фамилия*/
    echo get_author_posts_urlget_the_author_meta('ID') ); /*Ссылка*/ ?>

* поле обязательное для заполнения. Нажимая кнопку Отправить, Вы соглашаетесь с условиями Политика обработки персональных данных и Политикой конфиденциальности.

* поле обязательное для заполнения. Нажимая кнопку Отправить, Вы соглашаетесь с условиями Политика обработки персональных данных и Политикой конфиденциальности.

Нажимая «Принять», вы даете согласие на использование всех файлов, вы даете согласие на обработку файлов Cookies и других пользовательских данных, в соответствии с Политикой конфиденциальности.
Принять