Ответы в темах

Просмотр 15 ответов — с 1 по 15 (всего 60)
  • Я прекрасно понял, о чем мне написали. Автор по-прежнему будет попадать на страницу редактирования материала и сможет настраивать блоки по своему усмотрению.
    Впрочем, я уже решил эту задачу…

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

    Так как же тогда авторы будут набирать текст, если у них не будет доступна к админке? Мне нужно спрятать только виджеты и ничего более.

    Как сделать вывод краткого описания, чтобы выводился только один текст?
    если использовать
    function dzen_the_excerpt_rss() {
    the_excerpt_rss();
    }
    То перед текстом идет большое количество различных p, div и т.д.

    Сейчас я вывожу текст в RSS через get_the_content_dzen();
    На выходе получаю отображение <p>, <div>, *img* и другие теги. Мне нужно, чтобы *img* обрамлялись в теги <figure>, то есть заместо <p>*img* было <figure>*img*.
    Вот код функции get_the_content_dzen(); (Позаимствовал и подредактировал у одного из плагинов)

    function get_the_content_dzen() {
    	    
    		$post = get_post();
    		$content = $post->post_content;
    		
    		if(get_option('layf_remove_teaser_from_fulltext', '')) {
    		    if ( preg_match( '/<!--more(.*?)?-->/', $content, $matches ) ) {
    		        $content_parts = explode( $matches[0], $content, 2 );
    		        if(count($content_parts) > 1 && !empty($content_parts[1])) {
    		            $content = $content_parts[1];
    		        }
    		    }
    		}
    		$content = str_replace(']]>', ']]>', $content);
    		
    		add_filter('img_caption_shortcode', 'layf_filter_image_caption', 20, 3); //filter caption text
    		add_filter( 'layf_content_feed', array( $GLOBALS['wp_embed'], 'autoembed' ), 8 ); //embed media to HTML
    		
    		add_filter( 'layf_content_feed', 'wptexturize'        );
    		add_filter( 'layf_content_feed', 'convert_smilies'    );
    		add_filter( 'layf_content_feed', 'convert_chars'      );
    		add_filter( 'layf_content_feed', 'wpautop'            );
    		add_filter( 'layf_content_feed', 'shortcode_unautop'  );
    		add_filter( 'layf_content_feed', 'do_shortcode'       );
    		
    		if(get_option('layf_remove_shortcodes', '')) {
    		    add_filter( 'layf_content_feed', 'strip_all_shortcodes'   );
    		}
    		
    		return apply_filters('layf_content_feed', $content);		
    }

    Вот так…

    • Ответ изменён 6 лет, 11 месяцев назад пользователем AppleStage.

    Сабмитить ее нужно в сам «Яндекс», если сайт соответствующем требованиям.
    Вот ссылка на файл с описанием того, как должен выглядеть экспортируемый фид.
    https://yadi.sk/i/0ay6B47T3HNCTP

    Моя проблема в том, что я не мону добиться замены тегов p на другие. Они просто не меняются, ни через str_replace, ни через preg_replace.

    Большое спасибо! Помогло!

    • Ответ изменён 6 лет, 12 месяцев назад пользователем AppleStage.
    Автор AppleStage

    (@applestage)

    Какую в таком случае выбирать высоту и ширину? Чтобы все было адаптивным.

    Проблема в том, что если все изображения похожи друг на друга, то сложно запомнить, какую картинку я уже уставил в текст, а какую нет. Часто бывает так, что какие-то изображения я случайно вставляю в материал по два раза, а какие-то вовсе не попадают в него.

    В тексте около 2 000 слов это даже мало)
    Я не путаюсь в картинках между материалами, поэтому такое решение для меня бесполезно)
    Сейчас приходится добавлять на сайт по одной картинке и сразу вставлять в запись, при этом удаляя фотографию с компьютера. Только таким образом получается не путаться) Но если честно, то это крайне неудобно.

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

    Меня на все 100% устраивало окно добавления ссылок в WP 4.4. Оно полностью отвечает всем моим требованиям. Мне бы хотелось его как-то вернуть. Может есть какой-то плагин или код для этого?

    К несчастью, изложенное решение не решает самой проблемы. В таком случае все ссылки будут автоматически помечаться для открытия в новой вкладке, что тоже неудобно.

    Все работает, за исключением трех досадных багов.

    add_filter( 'the_content', 'featured_image_before_content' ); 
    
    function featured_image_before_content( $content ) {
    if ( is_singular('post') && has_post_thumbnail()) {
    $thumbnail =  get_the_post_thumbnail();
    $categories = get_the_category();
    $time =  get_the_time( get_option( 'date_format' ) );
    $comment = get_comments_number('0', '1', '%');
    $view = get_the_views();
    $title = get_the_title( $ID );
    
    $content =  '<div class="widget-week-item5">' . $thumbnail . '<div class="widget-week-content5"><div class="item-comments5">' . '<span class="categorys5">' . $categories . '</span>' . '<span class="item-views5"><i class="fa fa-clock-o"></i> ' . $time . ' | ' . '<i class="fa fa-comment-o"></i> <span class="count-comment{num}">' . $comment . '</span>' . ' | ' . '<i class="fa fa-eye"></i> ' . $view . '</span></div>' . '<a class="title">' . $title . '</a></div></div>' . $content;
    }
    
    return $content;
    }

    Вывести количество комментариев из плагина WP-PostViews не удается.
    Вместо категорий пишет Array
    Если попытаться опубликовать запись в социальную сеть, то там где должен быть обычный текст сначала выводится дата, количество комментариев и просмотров.
    Как решить эти три проблемы?

    Покопал немного в этом направлении. Собственно всё-таки робот Google сканирует the content, и в первую очередь берет картинки именно оттуда. Я набросал функцию, но она не загружает данные записи.

    add_filter( 'the_content', 'featured_image_before_content' ); 
    
    function featured_image_before_content( $content ) {
    if ( is_singular('post') && has_post_thumbnail()) {
    $thumbnail =  get_the_post_thumbnail();
    $category = the_category(', ');
    $time = the_time( get_option( 'date_format' ) );
    $comment = comments_number('0', '1', '%');
    $view = the_views();
    $title = the_title();
    
    $content = '<div class="widget-week-item5">' . $thumbnail . '<div class="widget-week-content5">' . '<div class="item-comments5">' . '<span class="categorys5">' . $category . '</span>' . '<span class="item-views5"><i class="fa fa-clock-o"></i>' . $time . '<i class="fa fa-comment-o"></i> <span class="count-comment{num}">' . $comment . '</span>' . '<i class="fa fa-eye"></i>' . $view . '</span></div>' . '<a class="title">' . $title . '</a></div></div>' . $content;
    }
    
    return $content;
    }

Просмотр 15 ответов — с 1 по 15 (всего 60)