我最终想出的解决问题的代码!
<?php
global $wpdb;
$catresult = array();
$postid = get_the_ID();
$query1c = "SELECT wp_posts.ID, wp_terms.`name` AS `Category`, wp_pods_productcategory.`pc-url` AS `Url`
FROM wp_posts
INNER JOIN wp_term_relationships ON wp_posts.ID = wp_term_relationships.object_id
INNER JOIN wp_terms ON wp_term_relationships.term_taxonomy_id = wp_terms.term_id
LEFT OUTER JOIN wp_pods_productcategory ON wp_pods_productcategory.id = wp_term_relationships.term_taxonomy_id
INNER JOIN wp_term_taxonomy ON wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_id
WHERE wp_term_taxonomy.taxonomy = \'productcategory\' AND wp_posts.ID =$postid
ORDER BY wp_terms.`name` ASC";
$categories = $wpdb->get_results( $query1c );
foreach ( $categories as $category )
{
array_push( $catresult, "<a href=\'".$category->Url."\'>".$category->Category."</a>" );
}
echo implode(\', \', $catresult);
?>
那么这是如何工作的呢?
<?php
这是开始标记,以便服务器知道接下来会发生什么php
.
global $wpdb
这里我们告诉服务器,我们将连接到WordPress数据库。
$catresult = array();
在这里,我们将创建用于存储数据的数组。
$postid = get_the_ID();
在这里,我们获得了能够过滤查询的帖子id。
$query1c = "SELECT....
在这里,我们放置查询,它选择我们想要的字段,并按wp_term_taxonomy.taxonomy = \'productcategory\'
和wp_posts.ID =$postid
(这是我们使用$postid
之前)和订购人wp_terms.name ASC
.
$categories = $wpdb->get_results( $query1c )
这将运行查询,并将原始数据保存到$categories
.
现在我们需要将原始数据转换为我们可以使用的数据,原始数据当前保存为$categories
但我们需要每个单独的结果,因此我们提出:
foreach ( $categories as $category)
这里有一个结果被称为$category
array_push( $catresult, "<a href=\'".$category->Url."\'>".$category->Category."</a>" )
在这里,我们将每个结果单独“推送”到前面创建的数组-$catresult
. 每个结果都有其链接(<a>
标签)。
最后一件事-由于我们希望这些类别在列表中,如果它们之间用逗号分隔,看起来会更好!因此:
echo implode(\', \', $catresult)
所以这里我们“内爆”数组,这意味着我们在数组的每个结果之间放置了一些东西,在本例中,逗号后跟空格。然后使用echo
命令
最后?>
告诉服务器关闭此php
部分