如何根据帖子的日期和标题设置博客帖子的永久链接?

时间:2011-09-24 05:56:48

标签: php wordpress .htaccess mysql

我正在访问此网站http://www.finalyearondesk.com。我的博客帖子链接设置如下.. http://www.finalyearondesk.com/index.php?id=28。我希望它像这样设置... finalyearondesk.com/2011/09/22/how-to-recover-ubuntu-after-it-is-crashed/。

我使用以下功能来获取这些帖子......

function get_content($id = '') {

    if($id != ""):
        $id = mysql_real_escape_string($id);
        $sql = "SELECT * from blog WHERE id = '$id'";
        $return = '<p><a href="http://www.finalyearondesk.com/">Go back to Home page</a></p>';
        echo $return;

    else:
        $sql = "select * from blog ORDER BY id DESC";

    endif;

    $res = mysql_query($sql) or die(mysql_error());

    if(mysql_num_rows($res) != 0):

        while($row = mysql_fetch_assoc($res)) {
            echo '<h1><a href="index.php?id=' . $row['id'] . '">' . $row['title'] . '</a></h1>';
            echo '<p>' . "By: " . '<font color="orange">' . $row['author'] . '</font>' . ", Posted on: " . $row['date'] . '<p>';
            echo '<p>' . $row['body'] . '</p><br />';
        }

    else:

        echo '<p>We are really very sorry, this page does not exist!</p>';

    endif;
}

有任何建议如何做到这一点?我们可以使用.htaccess吗?

2 个答案:

答案 0 :(得分:0)

是的,你只需进入后端的设置。

转到固定链接

选择自定义结构

插入此代码

/%year%/%month%/%day%/%postname%/

这是一个指南

http://codex.wordpress.org/Using_Permalinks

答案 1 :(得分:0)

问题在于这段代码<a href="index.php?id=' . $row['id'] . '">' . $row['title'] . '</a></h1>';

您已将index.php?id=字符串硬编码到模板中,即使您在单击链接时打开固定链接,此循环也会生成它并转到动态网址。甚至不是默认的WordPress动态帖子URL。

一个基本的WordPress循环,它显示的帖子的标题和日期类似于你想要的内容,如下所示

<?php
get_header();
if (have_posts()) :
   while (have_posts()) :
      the_title('<h3>', '</h3>'); ?>
      the_time('l, F jS, Y');
   endwhile;
endif;
get_sidebar();
get_footer(); 
?>

WordPress有很多内置功能,有很多选项。例如按标题,日期,asc,dsc等进行排序。您甚至可以在WordPress之外使用WordPress功能,方法是在WP外部文件的标题中包含一些php文件。