Ответы пользователя по тегу WordPress
  • Как вывести список: родительская категория и ее подкатегорий?

    @alex1nd
    <?php
    $parent_id = 4; // ID родительской категории
    
    // Получаем родительскую категорию
    $parent_category = get_category($parent_id);
    
    // Получаем подкатегории
    $args = array(
        'orderby'            => 'name',
        'order'              => 'asc',
        'style'              => 'list',
        'hide_empty'         => 0,
        'child_of'           => $parent_id,
        'title_li'           => '',
        'use_desc_for_title' => 1
    );
    
    // Проверяем, находимся ли мы в родительской категории или её подкатегории
    $current_category = get_queried_object();
    $current_class = '';
    
    if ($current_category && $current_category->term_id == $parent_id) {
        $current_class = 'current-cat';
    }
    
    echo '<ul class="subcat align-center">';
    
    // Выводим родительскую категорию
    echo '<li class="cat-item cat-item-' . $parent_category->term_id . ' ' . $current_class . '">';
    echo '<a href="' . get_category_link($parent_category->term_id) . '">' . $parent_category->name . '</a>';
    echo '</li>';
    
    // Выводим подкатегории
    wp_list_categories($args);
    
    echo '</ul>';
    ?>


    $parent_id = 4; — идентификатор родительской категории, которую вы хотите вывести.

    get_category() — функция для получения родительской категории.

    wp_list_categories() — стандартная функция для вывода подкатегорий.

    get_queried_object() — проверяем, находимся ли мы на странице родительской категории или её подкатегории.

    current-cat — если пользователь находится в родительской категории, то добавляется класс current-cat.

    Этот код выводит родительскую категорию первой, добавляет к ней класс current-cat, если пользователь находится на её странице, а затем выводит список подкатегорий.
    Ответ написан
    Комментировать
  • Как решить проблему с 404 Pagination на Wordpress?

    @alex1nd
    мне помогло

    https://wordpress.stackexchange.com/questions/2096...

    Replace blog with your category name in the code above.

    After adding this code, make sure you go to Settings > Permalinks and click Save to flush the rules cache, or else the rule will not be applied.

    /**
     * Fix pagination on archive pages
     * After adding a rewrite rule, go to Settings > Permalinks and click Save to flush the rules cache
     */
    function my_pagination_rewrite() {
        add_rewrite_rule('blog/page/?([0-9]{1,})/?$', 'index.php?category_name=blog&paged=$matches[1]', 'top');
    }
    add_action('init', 'my_pagination_rewrite');
    Ответ написан
    Комментировать
  • Fancybox перелистывание картинок как добавить?

    @alex1nd Автор вопроса
    add_filter('the_content', 'my_addlightboxrel', 50);
    function my_addlightboxrel($content) {
           global $post;
           $pattern ="/<a(.*?)href=('|\")(.*?).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
           $replacement = '<a$1href=$2$3.$4$5 rel="[gallery]" title="'.$post->post_title.'"$6>';
           $content = preg_replace($pattern, $replacement, $content);
           return $content;
    }
    add_filter( 'use_default_gallery_style', '__return_false' );
    Ответ написан
  • Как сделать массовую замену одного текста на другой через БД?

    @alex1nd Автор вопроса
    Ответ написан
    Комментировать
  • Как добавить поле в Wordpress, а вывести в футере?

    @alex1nd
    сделать для этого отдельную область?

    add_action('init', 'customfootercontent');
    function customfootercontent(){
    register_post_type('customfootercontent', array(
    'public' => true,
    'supports' => array('title', 'thumbnail', 'editor'),
    'labels' => array(
     'name' => 'Область футера',
     'all_items' => 'Все данные',
     'add_new' => 'Добавить',
     'add_new_item' => 'Добавление...'
     )
    )); 
    }


    Выводить в подвале

    <?php $customfootercontent = new WP_Query(array('post_type' => 'customfootercontent')); ?>
     <?php if ( $customfootercontent->have_posts() ) : ?>
    <?php while ( $customfootercontent->have_posts() ) : $customfootercontent->the_post(); ?>
    
    <?php the_post_thumbnail('full'); ?>
    <?php the_content(); ?>
    
    <?php endwhile; ?>
    <?php else: ?>
    <p>no content in this block</p>
    <?php endif; ?>


    ----------------------------------------
    Если картинка не нужна можно её убрать из кода

    для записей или страниц можно без плагина произвольными полями, сразу вставляйте, задавайте значение в админке. Для этого вкл. отображение произвольных полей в админке.

    <!-- произвольное поле-->
    <?php echo (get_post_meta($post->ID, 'proizvolniy-text', true)); ?>
    Ответ написан
    1 комментарий
  • Почему не работает is_page?

    @alex1nd
    is_page - для страниц
    is_single - для записи

    ////////////////
    function my_styles() {
        if ( is_page( '933' ) ) {
            //подключаем стиль
            wp_enqueue_style ( 'contact', get_template_directory_uri() 
                . '/altercss.css', array(), '1.0' );  
                //подключаем скрипт
                wp_enqueue_script('alterscript', get_template_directory_uri() . '/alterscript.js');     
        }
    }
    add_action( 'wp_enqueue_scripts', 'my_styles' );
    //////////////////


    я проверил все работает, нужно изменить только ИД и Пути к файлам
    Ответ написан
    Комментировать
  • Wordpress как подключить определенные JS на одной странице?

    @alex1nd
    is_page - для страниц
    is_single - для записи

    ////////////////
    function my_styles() {
        if ( is_page( 933 ) ) {
            //подключаем стиль
            wp_enqueue_style ( 'contact', get_template_directory_uri() 
                . '/altercss.css', array(), '1.0' );  
                //подключаем скрипт
                wp_enqueue_script('alterscript', get_template_directory_uri() . '/alterscript.js');     
        }
    }
    add_action( 'wp_enqueue_scripts', 'my_styles' );
    //////////////////


    я проверил все работает, нужно изменить только ИД и Пути к файлам
    Ответ написан
    2 комментария
  • Импорт данных в Wordpress?

    Комментировать
  • Как исправить дублирование надписи в WodPress?

    @alex1nd
    так не понятно, нужно хотя бы посмотреть исходный код элемента в браузере и папку с темой
    Ответ написан
  • Нужно ли знать php, чтоб создать шаблон wordpres?

    @alex1nd
    Ответ написан
    Комментировать