我在放置的功能很少,但是没有按照我想要的方式工作.
根据帖子标题,即时自动创建slug.
示例:如果帖子标题是"测试",那么slug将是"test"
我的问题是,如果他们重复输入帖子标题"测试",这意味着slug也会被复制.出于这个原因,我已经创建了2个函数来为我处理这个问题.
此函数检查数据库中是否存在slug
function slug_exist($x){
global $db;
$sql = "SELECT post_name FROM posts WHERE post_name=\"$x\"";
$query = $db->select($sql);
if($db->num_rows() > 0){
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
如果slug确实存在于数据库中,那么我使用这个函数给slug一个唯一的名字
if(slug_exist($slug)){
$rand = rand(10,50);
$slug = $slug."-".$rand;
return $slug;
}
Run Code Online (Sandbox Code Playgroud)
那么当slug将获得独特的slug名称时,它就像 Example: test-244
我希望slug是按数字顺序而不是随机顺序.
**Example:**
Post Title is "Test"
Slug is "test-1"
Post Title is "Test"
Slug is "test-2"
Post Title is "Test"
Slug is "test-3"
Run Code Online (Sandbox Code Playgroud)
这是我知道如何详细解释的唯一方式,如果您不确定要采取什么,请告诉我.谢谢!
mcu*_*ros 10
这是一个非常标准的代码,只需要一个小循环:
$i = 1; $baseSlug = $slug;
while(slug_exist($slug)){
$slug = $baseSlug . "-" . $i++;
}
return $slug;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4871 次 |
| 最近记录: |