Добавление времени чтения в Wordpress - PullRequest
1 голос
/ 17 марта 2020

У меня есть мультисайт на Wordpress, где каждый сайт предназначен для одной страны, где у компании есть офисы. Все сайты имеют одинаковую структуру, содержание меняется только от одного к другому.
Международный / глобальный веб-сайт - версия .com , и страны используют каталоги: .com / dk / , .com / de / и т. Д.

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

Вкл. functions.php У меня есть:

function reading_time() {
  $content = get_post_field( 'post_content', $post->ID );
  $word_count = str_word_count( strip_tags( $content ) );
  $readingtime = ceil($word_count / 200);

  $lang = get_country_code();
  $timer['lang'] = $lang;

  if (in_array($lang, array('Global', 'UK', 'US', 'ME'))) {
    $timer = " minutes";
  } elseif (in_array($lang, array('CO', 'CL', 'MX', 'GT', 'CR', 'EC'))) {
    $timer = " minutos";
  } elseif (in_array($lang, array('DE', 'CH'))) {
    $timer = " Minuten";
  } elseif (in_array($lang, array('DK' ))) {
    $timer = " minutter";
  } elseif (in_array($lang, array('BR' ))) {
    $timer = " minutos";
  }

  $totalreadingtime = $readingtime . $timer;

  return $totalreadingtime;
}

И на single.php Я добавил:

<div class="post-new-metas">
    <p class="post-tags"><?php the_tags(); ?></p>
    <p class="post-reading-time"><?php echo reading_time(); ?></p>
</div>

У меня с ним 2 проблемы:
1. Я хочу добавить до время чтения « Расчетное время чтения: », которое может меняться в зависимости от языка сайта.
2. Теги и время чтения работают на международном / глобальном веб-сайте. Все другие сайты сообщают мне: У вас есть критическая ошибка на вашем сайте.

Как я могу изменить функцию, чтобы это работало?

1 Ответ

0 голосов
/ 18 марта 2020

Вот как мне удалось заставить код работать с подсказкой @ desinfor. Я добавил single.php файл:

<div class="post-new-metas">
    <p class="post-tags"><?php the_tags( $before = '<b>Tags:</b> ' ); ?> |

    <?php
    function reading_time() {
      $content = get_post_field( 'post_content', $post->ID );
      $word_count = str_word_count( strip_tags( $content ) );
      $readingtime = ceil($word_count / 200);

      return $readingtime;
    }

    $readingtimeresult = reading_time();

    $html = sprintf(
        '<span>%s</span><span>%s</span>',
                __( '<b>Estimated reading time:</b> ', 'text_domain' ) . $readingtimeresult,
        __( ' minutes', 'Avada' ),
    );
    echo __( $html );
    ?>
    </p>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...