我有一个客户端的 CMS 设置,其中包含三个用于相关内容的元框。客户所要做的就是输入一个页面 slug(每个一个),该站点将返回三个相关产品。
一切正常,直到我的客户不小心拼错了一个蛞蝓。WordPress 没有返回任何内容,而是返回大约 6 个随机项目。
在 FUNCTIONS.PHP 中:
function get_ID_by_page_name($page_name) {
global $wpdb;
$page_name_id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = '".$page_name."' AND post_type = 'page'");
return $page_name_id;
}
在模板文件中:
$goesWith = get_post_meta($post->ID, 'goes_with', true);
if (($goesWith) or ($goesWith2) or ($goesWith3)) {
echo "<div class='goes-with'>";
echo "<h2>Goes Great With:</h2>";
// OPTION ONE
$pageID = get_ID_by_page_name($goesWith);
if ($goesWith) {
$args = array(
'post_type' => 'page',
'page_id' => $pageID,
'post_status' => 'publish'
);
query_posts( $args );
while(have_posts()) {
the_post(); // vital
echo "<div class='post-product'>";
echo "<a href=";
the_permalink();
echo ">";
thumbPath(140, 140);
echo "</a><a href=";
the_permalink();
echo "><p>";
the_title();
echo "</p></a></div><!--end post-product-->";
}
}
else {
echo "";
}
wp_reset_query();