我有以下WP查詢,它可以很好地工作。基本上它是如何工作的,在我的網站上我有不同的焦點領域。當你點擊其中一個重點領域時,例如數學或科學。將顯示所有與數學或科學相關的教師。將WP查詢轉換爲ShortCode Wordpress
這裏是WP查詢
<?php $schools = $post->ID; // the current post id ?>
<?php
$args = array(
'post_type' => 'teacher',
'meta_query' => array(
array(
'key' => 'areas_of_focus',
'value' => $schools,
'compare' => 'LIKE',
),
),
);
$schools_data_query = new WP_Query($args);
?>
<?php
if ($schools_data_query->have_posts()) {
echo '<ul>';
while ($schools_data_query->have_posts()) {
$schools_data_query->the_post();
//echo '<li>' . get_the_title() . '</li>';
//echo '<li>' . get_permalink() . '</li>'; ?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
}
echo '</ul>';
} else {
// no posts found
}
現在我希望能夠到這一個簡碼。這是我想出的,但它不起作用。不管我關注哪個方面,我都會點擊相同的老師。
function list_teacher_shortcode($atts){
global $post;
$schools = $post->ID;
$args = array(
'post_type' => 'teacher',
'meta_query' => array(
array(
'key' => 'areas_of_focus',
'value' => $schools,
'compare' => 'LIKE',
),
),
);
$schools_data_query = new WP_Query($args);
global $post;
$schools = $post->ID;
$content = '';
$content .= '<ul>';
while($schools_data_query->have_posts()) : $schools_data_query->the_post();
$content .= '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
endwhile;
$content .= '</ul>';
wp_reset_query();
return $content;
}
add_shortcode('list_teacher', 'list_teacher_shortcode');
我不是在這個後端編程非常好的,但我猜想它是與
全球$崗位;
$ schools = $ post-> ID;
我有它列在兩個不同的領域,但我試圖從頂部和從較低的區域中刪除它,仍然得到相同的結果。
對不起,我有以下的困難時期:/ –
@VinceMamba,我已經添加完整的代碼只爲你:) – MurDaD
謝謝你的幫助,唯一的問題是我把它變成一個短代碼,所以我可以把它放在側邊欄區域的wordpress,但短代碼不接受側邊欄區域的PHP。所以它必須是像[list_teacher] –