我知道以前做过这件事。每当您在Wordpress中发布新的博客帖子/页面时,您都可以看到它的示例,并且标题与现有页面/帖子的标题相同。这是一个例子:
你将如何以编程方式(使用PHP)与提交给定列表的“some-page-slug”slug的人打交道。显然,你应该导致“some-page-slug-3”,但那段代码是什么样的?出于某种原因,这让我感到安慰。我在假设,希望我错了,你必须使用jQuery(或者vanilla js,无论如何),对吗?
答案 0 :(得分:2)
这是一个可能的解决方案,如Mathew MacLeans在他的评论中提出的:
$slug = 'slug';
$slugs = array('slug', 'slug-1', 'slug-2', 'slug-5');
$result = $slug;
$i = 1;
while(in_array($result, $slugs)) {
$result = $slug . '-' . $i;
++$i;
}
// prints 'slug-3'
print $result;
当然,您必须将in_array
替换为检查slug是否存在的函数。
<强>演示强>
答案 1 :(得分:1)
只是一些伪代码让你前进,但我相信这是你应该采取的路线。
$postTitle = <WhateverTheTitleIs>;
$result = mysql_query("SELECT id FROM mytable WHERE title = '$postTitle'");
if(mysql_num_rows($result) == 0) {
// title not found, submit to database
} else {
// title exists
$postTitle = $postTitle + 1;
}
现在,显然这并不是100%正确的语法,但它应该指向你需要去的方向。 :)