В настоящее время я выполняю специальную работу на сайте Wordpress клиентов. Я использую приведенный ниже код для запроса базы данных, которая работает нормально. Однако, когда я пытаюсь показать результаты, он не работает должным образом. В основном я пытаюсь запросить таблицу postmeta, чтобы найти информацию из настраиваемого поля, которое я добавил, что в этом случае может быть моим именем, andy. После того, как система найдет все сообщения с настраиваемым значением поля как andy, он должен использовать идентификатор для этих строк и отображать заголовок, контент и дату для каждого из них. Это работало нормально, пока я не просмотрел страницу вживую, и в основном она подсчитывает количество раз, когда появляется мое имя, и повторяет информацию из всех строк, в то время как я хочу, чтобы он только эхо-информация из публикуемых строк. Может ли один помочь, огромная головная боль для меня !:Содержимое Wordpress, отображающее странные при использовании foreach
PHP
<?php
require_once('dbConfig.php');
// This variable grabs the name in the URL
$r = get_permalink();
$r = explode('/', $r);
$r = array_filter($r);
$r = array_merge($r, array()); //reset keys
$code = $r[3];
$getName = preg_replace("/[^a-zA-Z0-9\s]/", "", $code);
$name = $db->real_escape_string($getName);
?>
<?php
$allposts = $wpdb->get_results($wpdb->prepare("SELECT post_id FROM $wpdb->postmeta WHERE meta_value = %s", $name));
foreach ($allposts as $singlepost) {
$wpPosts = $wpdb->get_row($wpdb->prepare("SELECT post_title, post_content, post_date_gmt FROM $wpdb->posts WHERE ID = %d AND post_status = 'publish' AND post_type='post' ORDER BY ID DESC", $singlepost->post_id));
$wpPostsDate = new DateTime($wpPosts->post_date_gmt);
echo '<h1>'.$wpPosts->post_title.'</h1><br>';
echo 'Post Content: '.$wpPosts->post_content.'<br>';
echo 'Post Date: '.$wpPostsDate->format('jS F Y').'<br><br>';
}
?>
Здравствуйте, я только что попробовал это с именем andy, поскольку я знаю, что я написал один или два сообщения, и я указан как автор сообщения (meta_key = post_author & meta_value = andy), но ничего не отображает. Есть идеи? –
также, если я делаю print_r ($ allposts); Я получаю Array(), который не выглядит правильным –
Не волнуйтесь, я нашел очень простой подход, спасибо за вашу помощь :) –