我有一個php函數,它生成一個逗號分隔的帖子ID列表,指定帖子在我的WordPress網站上顯示的順序。使用自定義SQL對WordPress網站上的帖子進行排序
我在尋找我可以插入像SQL查詢的地方:
SELECT * FROM wp_posts WHERE ID IN ('1', '2', '3')
哪個PHP文件,我應該修改?我應該如何說SQL?
我有一個php函數,它生成一個逗號分隔的帖子ID列表,指定帖子在我的WordPress網站上顯示的順序。使用自定義SQL對WordPress網站上的帖子進行排序
我在尋找我可以插入像SQL查詢的地方:
SELECT * FROM wp_posts WHERE ID IN ('1', '2', '3')
哪個PHP文件,我應該修改?我應該如何說SQL?
首先你應該使用wp_query
這個。它旨在查詢帖子。
<?php
$args = array(
'post__in' => array (1,2,3) //the Ids
);
$query = new WP_Query($args);
if ($query->have_posts()){
while ($query->have_posts()) {
$query->the_post();
echo get_the_ID().'<br/>';
}
} else {
echo 'no posts found';
}
關於安置
我建議做一個custom template,請用一個簡單的代碼模板之上,建立一個網頁爲其分配一個模板,使頁面私有。
global $wpdb; $results = $wpdb->get_results("SELECT * FROM {$wpdb->posts} WHERE ID IN (1, 2, 3) ORDER BY ID");
你可以在你的主題的functions.php文件中使用它。
將你的php函數粘貼到文件(root wordpress文件夾)/ wp-content/themes /(你的主題名稱)/functions.php SQL查詢應該是這樣的。
$sql=$wpdb->prepare("SELECT * FROM wp_posts WHERE ID IN ('1', '2', '3');");
$results=$wpdb->get_results($sql);
echo ">>>>".$result[0]->something."<br />";//blah blah...
哇,我沒有提到$ wpdp全球,還是代碼在我的系統上工作正常!,反正 我建議你在你的函數編寫「全球WPDB $」。
現在主要的問題是從哪裏調用這個函數; 你必須從主題/(你的主題)/index.php
嘗試確定如何在當前主題中生成帖子,並且你可能會得到你需要做的!
你能更具體一點嗎?你想用哪個模板文件?它是一個靜態頁面還是分類頁面? –