Giter VIP home page Giter VIP logo

mihdan / mihdan-yandex-turbo-feed Goto Github PK

View Code? Open in Web Editor NEW
17.0 4.0 5.0 4.95 MB

Плагин под WordPress, генерирующий ленту (фид) для Турбо-страниц от компании Яндекс.

Home Page: https://wordpress.org/plugins/mihdan-yandex-turbo-feed/

License: GNU General Public License v3.0

PHP 97.08% JavaScript 0.81% CSS 2.11%
wordpress wordpress-plugin feed yandex-turbo yandex-turbo-pages rss rss-feed rss-feed-generator php php5

mihdan-yandex-turbo-feed's Introduction

Mihdan: Yandex Turbo Feed

WordPress-плагин, генерирующий фид для Турбо-страниц от компании Яндекс

Mihdan: Yandex Turbo Feed

Автора

"Писатель" - Кобзарёв Михаил

Автоматическая установка Yandex Turbo Feed

  1. Зайдите в дминке в ПлагиныДобавить новый
  2. В поиске введите Mihdan: Yandex Turbo Feed
  3. Активируйте плагин Mihdan: Yandex Turbo Feed
  4. [Необязательно] Найстройте плагин.

Ручная установка Yandex Turbo Feed

  1. Скачайте последнюю стабильную версию в zip-архиве
  2. Распакуйте архив, переименуйте папку в mihdan-yandex-turbo-feed и зазуипуйте её обратно
  3. Перейдите в Плагины -> Добавить новый -> Загрузить новый
  4. Загрузите скачанный архив
  5. Перейдите в Плагины и активируйте установленный плагин

После установки фид станет доступным по адресу http://example.com/feed/mihdan-yandex-turbo-feed/

Настройка плагина

На текущий момент плагин проходит стадию активной разработки, поэтому в нем отсутствует страница с настройками, но эти самые настройки можно задавать через фильтры внутри вашей темы в файле functions.php.

Количество постов в ленте

Согласно спеке Яндекса, материалов в RSS-ленте для Турбо-страниц может быть до 500. Добавил фильтр на тот случай, если вы хотите выводить их меньше:

add_filter( 'mihdan_yandex_turbo_feed_posts_per_rss', function( $posts_per_rss ) {
  return 500;
} );

Ярлык ленты

По умолчанию ярлык для ленты выглядит как mihdan-yandex-turbo-feed, если вам не нравится такое название, можете его переименовать через фильтр:

add_filter( 'mihdan_yandex_turbo_feed_feedname', function( $slug ) {
  return 'yandex-turbo';
} );

Стоит отметить, что в качестве разделителя всегда используется тире, подчеркивание запрещено, это связано с некоторыми конфигурациями старых серверов, мало ли 🙂

Список разрешенных тегов Yandex Turbo Feed

По спеке внутри тега <turbo:content> не должно быть никаких лишних тегов, типа <iframe>, поэтому плагин вырезает лишнее, оставляя только необходимый для разметки минимум. Для переопределения есть фильтр:

add_filter( 'mihdan_yandex_turbo_feed_allowable_tags', function( $allowable_tags ) {
  // Добавить тег <kbd>
  $allowable_tags[] = 'kbd';
 
  return $allowable_tags;
} );

Аргументы поиска похожих постов

add_filter( 'mihdan_yandex_turbo_feed_related_args', function( $args ) {
    // Делаем что-то с запросом
    return $args;
} );

Таксономии для вывода категорий

По умолчанию для вывода категорий используется таксономия category, которая переопределяется через фильтр:

add_filter( 'mihdan_yandex_turbo_feed_taxonomy', function( $taxonomy ) {
  return array( 'tag' );
} );

Лицензия

Данный WordPress-плагин с открытым исходным кодом под лицензией MIT.

Подробности

Более подробную информацию о проекте вы можете найти у меня в блоге.

Помочь проекту

Donate

mihdan-yandex-turbo-feed's People

Contributors

campusboy87 avatar mihdan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

mihdan-yandex-turbo-feed's Issues

uninstall.php

Удалять настройки при удалении плагина

Страница настроек

Приоритет у фильтов. Если есть фильтр на какую-то настройку - дизейблим поле настройки и делаем подпись, что переопределено через хук.

Горизонтальные табы (метабоксы) для группировки настроек, внутри вертикальные для настроек отдельных модулей.

http://admin-page-framework.michaeluno.jp

disable_dev_mode() must be an instance of ReduxFramework

После обновления WP до последней версии, сайт перестал работать. Trace ошибки:

PHP Fatal error: Uncaught TypeError: Argument 1 passed to Mihdan_Yandex_Turbo_Feed_Settings::disable_dev_mode() must be an instance of ReduxFramework, instance of given, called in /var/www/wp-includes/class-wp-hook.php on line 286 and defined in /var/www/wp-content/plugins/mihdan-yandex-turbo-feed/includes/class-mihdan-yandex-turbo-feed-settings.php:18, referer: https://www.site.com/

Stack trace:, referer: https://www.site.com/

stderr: #0 /var/www/wp-includes/class-wp-hook.php(286): Mihdan_Yandex_Turbo_Feed_Settings->disable_dev_mode(Object(ReduxCore\ReduxFramework\ReduxFramework)), referer: https://www.site.com/

stderr: #1 /var/www/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(NULL, Array), referer: https://www.site.com/

stderr: #2 /var/www/wp-includes/plugin.php(465): WP_Hook->do_action(Array), referer: https://www.site.com/

stderr: #3 /var/www/wp-content/plugins/accelerated-mobile-pages/includes/options/redux-core/framework.php(317): do_action('redux/construct', Object(ReduxCore\ReduxFramework\ReduxFramewo in /var/www/wp-content/plugins/mihdan-yandex-turbo-feed/includes/class-mihdan-yandex-turbo-feed-settings.php on line 18, referer: https://www.site.com/

Времени разбираться нет, пришлось, вручную убрать тип в функции:

/**
	 * Отключаем режима разработки
	 *
	 * @param ReduxFramework $redux
	 */
	public function disable_dev_mode( $redux ) {
            if (is_object($redux) && $redux instanceof ReduxFramework) {
                $redux->args['dev_mode'] = false;
                $redux->args['forced_dev_mode_off'] = false;
            }
	}

Если это глобальная проблема, исправьте пожалуйста

P.S. PHP 7.2.5

https://wordpress.org/support/topic/disable_dev_mode-must-be-an-instance-of-reduxframework/

Расширить метабокс поста

  • Добавить галочку удаления страницы и турбо <item turbo="false">
  • Возможность изменить заголовок поста в ленте
  • Возможность изменить описание поста в ленте
  • не использовать бесконечную ленты
  • не использовать рекламу
  • убрать форму поиска
  • убрать похожие записи

Возможность удалять страницы из Турбо (turbo=false)

Михаил здравствуйте!

Поставил ваш плагин для Яндекс Турбо на Вордпресс.
И о эврика, его приняли с первого раза.
Но мне он нужен не для того, чтобы загружать страницы.
А наоборот - чтобы удалить все на хрен.
Но для этого нужно добавить атрибут turbo="false" к тегу.
Не подскажете, как это сделать, используя ваш плагин?

Ответить на мыло

Несколько фидов

Как будет работать плагин если надо сделать два разных фида, с разными именами. Например для простых записей и кастомных?

Якорь, на который указывает ссылка, отсутствует или указан у неподдерживаемого элемента

Здравствуйте, прошу прощение, за беспокойство. Пользуюсь вашим плагином для яндекс.турбо, плагин очень нравится, но возникла проблема с ссылками типа - якорь. Подскажите пожалуйста, возможно ли в будущем исправить данную ошибку, для примера выложил код страницы https://codeshare.io/5PJvxQ Через отладчик в вебмастере показывает ошибку. "Якорь, на который указывает ссылка, отсутствует или указан у неподдерживаемого элемента. В качестве якоря можно использовать контент в виде аккордеона или заголовок h1–h6." Заранее благодарю за ответ.

Добавить WP-CLI

Добавить возвожность загружать более миллиона записей - возможно только по АПИ.

Сделать страницу в админке с логом передачи, который можно отключить в настройках

Добавить возможность вставлять листинг кода с подсветкой синтаксиса

Так как нельзя ставить, стили, css, то единственным вариантом вижу - генерить картинку через внешний сервис и вставлять в пост.

Добавить тег <pre> в список разрешенных, парсить контент и заменять <pre> на <img>

https://carbon.now.sh/

500 ошибка

Плагин выдает ошибку
Fatal error: Access to undeclared static property: Redux_Functions_Ex::$args in /var/www/xoxo.ru/wp-content/plugins/mihdan-yandex-turbo-feed/vendor/redux-framework-4/ReduxCore/inc/classes/class-redux-functions-ex.php on line 57

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.