Nano Hash - криптовалюты, майнинг, программирование

Настройка поста перед разбиением на страницы поста

Я хочу выполнить скрипт непосредственно перед разбиением сообщения на страницы.

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

if ( false !== strpos( $content, '<!--nextpage-->' ) )

in wp-includes/query.php

Мне нужно изменить страницы сообщений, которые разбиты на страницы в соответствии с некоторым условием.

Скажем

if(condition == true){
    $paged_data = explode('<!--nextpage-->', $content);
    $i = 0;
    $allpages = "";
    foreach($paged_data as $p_data){
        if( ($i) % 3 != 0){
            $allpages = $allpages.$p_data;
        }
        else{
            $allpages = $allpages . '<!--nextpage-->' .$p_data;
        }
        $i++;
    }
    $content = $allpages;
}

Но мне нужно, чтобы это было достигнуто с помощью каких-то хуков или фильтров. Чтобы код не удалялся при обновлении wordpress.

Я пробовал хук the_content, но он выполняется после разбиения сообщения на страницы.

Даже я пробовал хук the_post, но он работает только с несколькими темами.


  • Возможно, вы ищете фильтр content_pagination? 02.08.2016
  • Я хочу динамически объединить некоторые страницы в 1. Допустим, у меня есть 18 страниц. Я хочу преобразовать их в 6. 02.08.2016

Ответы:


1

Вот пример того, как мы можем объединять страницы по частям при использовании пагинации контента:

Подробно

Демонстрационный плагин:

Мы можем использовать content_pagination для изменения нумерации содержимого:

/**
 * Content Pagination - Merge pages in chunks
 */
add_filter( 'content_pagination', function( $pages )
{
    // Nothing to do without content pagination
    if( count( $pages ) <= 1 )
        return $pages;

    // Number of pages per chunk    
    $pages_per_chunk = 3; // <-- Edit to your needs!

    // Create chunks of pages   
    $chunks = array_chunk( $pages, $pages_per_chunk );

    // Merge pages in each chunk
    $merged = [];
    foreach( (array) $chunks as $chunk )
        $merged[] = join( '', $chunk );

    return $merged;

} );

где мы корректируем $pages_per_chunk по мере необходимости.

02.08.2016
  • Спасибо ????????, хороший фрагмент 21.05.2021
  • Новые материалы

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

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..