我正在访问此网站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吗?
答案 0 :(得分:0)
是的,你只需进入后端的设置。
转到固定链接
选择自定义结构
插入此代码
/%year%/%month%/%day%/%postname%/
这是一个指南
答案 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文件。