Проблема при создании таблицы в PHP с WordPress - PullRequest
0 голосов
/ 01 ноября 2019

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

Для этого я использую AJAX, и в настоящее время проблем нет.

Проблемаприходит, когда я генерирую таблицу в PHP, значения восстановленного сообщения помещаются куда угодно.

Вот мой генератор таблиц:

  // Get paging system.
  $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

  // Create post request arguments.
  $args = [
    'post_type' => 'wp-lightnovel',
    'posts_per_page' => 5,
    'paged' => $paged
  ];

  if (isset($_POST['season'])) {
    $season = $_POST['season'];
    if ($season != '' && $season != 'all') {
      $args['tax_query'] = [[
        'taxonomy' => 'wp-lightnovel-release-season',
        'field' => 'slug',
        'terms' => $_POST['season']
      ]];
    }
  }

  // Ask for posts.
  query_posts($args);

  $content = '<table>';
  $content .= '<thead>';
  $content .= '<tr><th colspan="2">The table header</th></tr>';
  $content .= '</thead>';
  $content .= '<tbody>';

  while(have_posts()) {
    the_post();

    $image = get_the_post_thumbnail_url();
    $releaseSeason = get_the_terms(get_the_ID(), 'wp-lightnovel-release-season')[0]->name;
    $postTitle = the_title();

    $content .= '<tr>';
    $content .= '<td><div style="width: 100px"><img src="' . $image . '" /></div></td>';
    $content .= '<td>' . $postTitle . '(<b>' . $releaseSeason . '</b>)</td>';
    $content .= '</tr>';
  }

  $content .= '</tbody>';
  $content .= '</table>';

  echo $content;

  die();

Проблема в том, что заголовок сообщения должен быть рядом ссезон релиза, но это не тот случай, когда рендеринг в Интернете:

Screenshot of rendering on the web

Screenshot of rendering in the DOM

Я не знаю, сейчас это происходит.

Если у кого есть идеи?

Спасибо

1 Ответ

0 голосов
/ 01 ноября 2019

Проблема, с которой вы сталкиваетесь, заключается в следующей строке:

$postTitle = the_title();

the_title() будет отображать заголовок сообщения, если вы не установили для третьего параметра значение false, как показано ниже [документы ];

// 1st param = prepend | 2nd param = append | 3rd param = echo (bool true||false)
$post_title = the_title("", "", false);

У вас также есть возможность get_the_title() [ документы ];

$post_title = get_the_title();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...