Php 在另一个自定义帖子中查询自定义帖子
我在wordpress开发中有两种类型的自定义帖子。一种是Php 在另一个自定义帖子中查询自定义帖子,php,wordpress,Php,Wordpress,我在wordpress开发中有两种类型的自定义帖子。一种是餐厅列表,另一种是评论。在餐厅列表的单个页面中,我还想显示评论 我已经试过了 //发布餐厅列表的内容 //“评论”的帖子内容 全球$wpdb; $title=获取标题(获取ID()); $sql=“从{$wpdb->prefix}帖子中选择*,其中post_title=”$标题 $results=$wpdb->get_results($sql,“ARRAY_A”); 打印(结果); 虽然我有两篇文章要查看,但是它没有显示任何关于$re
餐厅列表
,另一种是评论
。在餐厅列表
的单个页面中,我还想显示评论
我已经试过了
//发布餐厅列表的内容
//“评论”的帖子内容
全球$wpdb;
$title=获取标题(获取ID());
$sql=“从{$wpdb->prefix}帖子中选择*,其中post_title=”$标题
$results=$wpdb->get_results($sql,“ARRAY_A”);
打印(结果);
虽然我有两篇文章要查看,但是它没有显示任何关于
$results
的内容,因为SQL字符串包含一个错误:您需要在SQL字符串中用引号括起$title
$sql = "SELECT * FROM {$wpdb->prefix}posts WHERE post_title = '" . esc_sql($title) . "'";
请注意准备用于sql查询字符串的$title变量的esc_sql()
函数
更好的是,您可以使用$wpdb->prepare()
方法:
$sql = $wpdb->prepare("SELECT * FROM {$wpdb->prefix}posts WHERE post_title = %s", $title);
您的查询不会返回所需的结果,因为SQL字符串包含一个错误:您需要在SQL字符串中用引号括起$title
$sql = "SELECT * FROM {$wpdb->prefix}posts WHERE post_title = '" . esc_sql($title) . "'";
请注意准备用于sql查询字符串的$title变量的esc_sql()
函数
更好的是,您可以使用$wpdb->prepare()
方法:
$sql = $wpdb->prepare("SELECT * FROM {$wpdb->prefix}posts WHERE post_title = %s", $title);
您永远不应该直接向DB查询post列表。WordPress有多种方法可以使过程变得更好、更清晰。整个平台基于帖子,因此有很多功能可以让你的生活变得轻松 这是如何满足您需求的一个非常基本的示例:
$reviews = get_posts( array(
'post_type' => 'reviews'
) );
if ( $reviews ) {
foreach ( $reviews as $post )
{
setup_postdata( $post );
?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_content(); ?>
<?php
}
wp_reset_postdata();
}
$reviews=get\u posts(数组(
“发布类型”=>“评论”
) );
如果($审查){
foreach($post作为$reviews)
{
设置_postdata($post);
?>
你永远不应该直接查询数据库中的帖子列表。WordPress有多种方法可以让这个过程更好、更清晰。整个平台都是基于帖子的,所以有很多功能可以让你的生活更轻松
这是如何满足您需求的一个非常基本的示例:
$reviews = get_posts( array(
'post_type' => 'reviews'
) );
if ( $reviews ) {
foreach ( $reviews as $post )
{
setup_postdata( $post );
?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_content(); ?>
<?php
}
wp_reset_postdata();
}
$reviews=get\u posts(数组(
“发布类型”=>“评论”
) );
如果($审查){
foreach($post作为$reviews)
{
设置_postdata($post);
?>