2011-12-22 32 views

回答

1

我不知道有什么简单的方法来做到这一点,但你可以做到这一点,

为了实现这一点,你需要一个custom meta field添加到帖子中。将它命名为mytitle(说)。

对于新的帖子你添加了,很简单,你必须在添加帖子页面的mytitle自定义字段中添加修改过的标题(从标题中删除一个,从标题中删除)。

对于旧帖子这是一个有点棘手,你必须编写一个PHP代码来检索帖子的标题从他们使用php preg_replace删除'a','an','''并将其添加到使用这样的事情你的WordPress数据库的postmeta表:

<?php //inside loop 
$query=INSERT INTO xyz_postmeta (post_id, meta_key, meta_value) VALUES ($postid, 'mytitle' $title); 
$wpdb->query('$query'); ?> 

其中$是帖子ID内环路和$标题的帖子ID是修改后的标题。

现在您已经使用自定义mytitle字段更新了所有以前的帖子。

现在要显示,您必须使用自定义循环(不包括主题中包含的循环)。

以下是如何制作基本自定义循环以显示按照mytitle顺序排列的帖子。

$querystr = " 
    SELECT wposts.* 
    FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta 
    WHERE wposts.ID = wpostmeta.post_id 
    AND wpostmeta.meta_key = 'mytitle' 
    AND wposts.post_type = 'post' 
    AND wposts.post_status = 'publish' 
    ORDER BY wpostmeta.meta_value ASC 
    "; 

现在你可以通过任何你想要的方式执行查询。 Wordpres提供了多种方法来执行此操作。 Here's a link

例如,你可以做这样的事情

$pageposts = $wpdb->get_results($querystr, OBJECT); 
foreach ($pageposts as $pagepost) 
{ 
    echo $pagepost->post_title; 
    //do other stuff to display content, meta etc.. 
} 
相关问题