2012-10-06 41 views
1

我使用Wordpress自動建議使用的代碼this snippet查詢所有的WordPress的職稱

,目前正在搜索的所有標籤,我希望它僅搜索文章標題。任何幫助表示讚賞。

這是sql查詢調用所有需要修改所有帖子的標籤。

<?php global $wpdb; 
$search_tags = $wpdb->get_results("SELECT name from wp_terms WHERE name LIKE '$search%'"); 
foreach ($search_tags as $mytag) 
    { 
    echo $mytag->name. " "; 
    } 
    ?> 

回答

2

您可以直接使用WordPress中,構建功能,將得到所有的文章標題

// The Query 
query_posts('posts_per_page=-1'); 

// The Loop 
while (have_posts()) : the_post(); 
    echo '<li>'; 
    the_title(); 
    echo '</li>'; 
endwhile; 
+2

感謝@GBD大加讚賞,但我修改查詢,以達到我想要的東西。希望這可以幫助其他人。

'code' <?php global $ wpdb; $ search_tags = $ wpdb-> get_results(「從wp_posts中選擇post_title WHERE post_title LIKE'$ search%'」); ($ search_tags as $ mytag) {echo $ mytag-> post_title。 「」; }?>'code' –

+1

@JunaidHassan OK :) – GBD

3

這些天,我不得不做一個WordPress主題有一定的要求。 在你的情況下(獲得標題比獲得標籤更容易,就像在你的示例鏈接中一樣),這些東西可以做得更容易(我猜)。

首先,你必須做一個PHP頁面來獲取信息。正如你可能知道,你將無法使用WP的東西,在獨立的PHP文件,所以你的文件(讓我們把它叫做get_posts.php)看起來像

<?php 
    // Include the file above for being able to use php stuff 
    // In my case this file was in a folder inside my theme (my_theme/custom_stuff/get_posts.php). 
    // According to this file position you can modify below path to achieve wp-blog-header.php from wp root folder 
    include('../../../../wp-blog-header.php'); 

    // Get all published posts. 
    $list_posts = get_posts(array('numberposts' => -1)); 

    // Get "q" parameter from plugin 
    $typing = strtolower($_GET["q"]); 

    //Save all titles 
    $list_titles = array(); 
    foreach($list_posts as $post) { $list_titles[] = $post->post_title; } 

    // To see more about this part check search.php from example 
    foreach($list_titles as $title) { 
    if(strpos(strtolower($title), $typing)){ 
     echo $title; 
    } 
    } 

?> 

我添加了一些意見想幫你更好。

現在得到的東西很容易,你只需要通過調用jQuery插件你的頁面一樣

$('#yourInput').autocomplete("path_to/get_posts.php"); 
相關問題