希望限制 WP 查询的返回字段,以帮助加快服务器的响应速度并减少检索的数据量。对于我正在使用的查询,它最多只需要3个字段的数据,其余的通过循环中的ACF get_field_object引入。我使用的其他函数(例如 get_posts 或 get_terms)具有字段选项,但仅限于少数内容,例如仅“slug”或“id => slug”。
我习惯于在 CakePHP 中进行开发,它可以选择指定要返回的每个字段,但该项目需要 wordpress 来实现其他功能,因此我的能力非常有限。
TL;DR 需要加快从 Wordpress 获取帖子的速度
我正试图为我的网站生成一些网址'slug'.它基于单个用户生成的文本.
现在,我已经制作了自己的slug方法,所以我不会为此做一些代码.
我想知道的是哪里是最好的地方来确定这个slug是否是唯一的然后插入它因为slug字段是一个唯一的密钥索引.
最初,我在任何插入(对表)上都有一个触发器,所以当输入数据时,然后确定slug.我有一个函数检查包含用户文本(而不是slug)的记录数,然后生成slug并将记录计数+ 1添加到新slug的末尾.
例如.
在表中找到5条记录,其中包含相同的用户生成内容.现在这个slug文本中有一个6加到了最后.
缺陷:如果用户更改其文本,则slug不会更改.
无论如何,我想知道其他人是否已经解决过这个问题,并找到了解决问题的方法?
我正在尝试找到最好的方法(在可用性和性能方面)处理诸如获取标记有特定标记或类别或类似内容的记录之类的情况.
一个好方法(我想做的方式),是用标签/类别slug获取记录,所以URL看起来像:
http://stackoverflow.com/questions/tagged/language-agnostic
Run Code Online (Sandbox Code Playgroud)
通过slug获取记录,看起来比以下更好:
http://stackoverflow.com/questions/tag/789/language-agnostic
Run Code Online (Sandbox Code Playgroud)
通过ID获取并添加slug,因此它更适合搜索引擎.这个性能更好,因为通过整数ID获取数据会比字符串更快.(cmiiw)
现在,使用db模式:
posts post_to_tags tags
----- ------------ ----
id id id
title post_id name
content tag_id slug
... ...
Run Code Online (Sandbox Code Playgroud)
我做得对吗?是否存在我需要知道的陷阱或最佳实践以避免性能问题?(例如,标签不应超过10,000条记录,或标签slug不应超过n个字符,或其他)
提前致谢.
可能重复:
PHP中的URL友好用户名?
我在某种程度上混淆了使用适当的函数来逃避和创建一个slu ..
我用过这个:
$slug_title = mysql_real_escape_string()($mtitle);
Run Code Online (Sandbox Code Playgroud)
但有人告诉我不要使用它并使用urlencode()
哪一个更适合slu and和安全
正如我在SO中看到的,它插入 - 在单词之间:
https://stackoverflow.com/questions/941270/validating-a-slug-in-django
Run Code Online (Sandbox Code Playgroud) I have everything in place to create slugs from titles, but there is one issue. My RegEx replaces spaces with hyphens. But when a user types "Hi there" (multiple spaces) the slug ends up as "Hi-----there". When really it should be "Hi-there".
Should I create the regular expression so that it only replaces a space when there is a character either side?
Or is there an easier way to do this?
Django Unicode Slug怎么样?
class NewsModel(models.Model):
title = models.CharField(max_length = 300)
slug = models.CharField(max_length = 300)
content = models.TextField()
def save(self,*args, **kwargs):
if self.slug is None:
self.slug = ???
super(NewsModel, self).save(*args, **kwargs)
def get_absolute_url(self):
return reverse("news_view", kwargs = {"slug" : self.slug, } )
Run Code Online (Sandbox Code Playgroud) 我正在阅读关于如何在这里建立数据库评论系统的MongoDB教程.一条评论文件包含以下信息:
{
_id: ObjectId(...),
discussion_id: ObjectId(...),
parent_id: ObjectId(...),
slug: '34db/8bda'
full_slug: '2012.02.08.12.21.08:34db/2012.02.09.22.19.16:8bda',
posted: ISODateTime(...),
author: {
id: ObjectId(...),
name: 'Rick'
},
text: 'This is so bogus ... '
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法理解的是什么,slug并且full_slug是,不能从文档的理解.
我追求一个纯粹的 bash 解决方案来“slugify”一个变量,这不像我的那么难看。
slugify : 小写,缩短为 63 字节,除 0-9 和 az 之外的所有内容都替换为 -。没有前导/尾随 -。结果是一个适合在 URL 主机名和域名中使用的字符串。输入很可能是一系列带有不想要的字符的单词,例如:
'Effrafax_mUKwT'uP7(Garkbit<\1}@NJ"RJ"Hactar*S;-H%x.?oLazlarl(=Zss@c9?qick.:?BZarquonelW{x>g@'k'
其中一个 slug 看起来像:'effrafax-mukwt-up7-garkbit-1-njrjhactar-shx-olazlarl-zss-c9-q'
slugify () {
next=${1//+([^A-Za-z0-9])/-}
next=${next:0:63}
next=${next,,}
next=${next#-}
next=${next%-}
echo $next
}
Run Code Online (Sandbox Code Playgroud)
另外为什么不${next//^-|-$}去掉前缀和后缀'-'?其他建议?
我有多个带有自定义分类的自定义帖子类型.尽管有不同的父母,我仍然有一次slu cla冲突.
这是我的URL结构:/ work /%client_name%/%project_name%
我有一个客户端(client1)和项目(some-cool-project-name)生成这个slug:"/ work/client1/some-cool-project-name".
当我在不同的父(客户端)下创建一个新帖子并给帖子提供相同的名称(和slug)时,wordpress将-2添加到slug:"/ work/client2/some-cool-project-name-2"
自定义帖子类型为:
// Custom taxonomies.
function custom_taxonomies() {
$args = array(
'label' => __( 'Work', '' ),
'labels' => array(
'name' => __( 'Work', '' ),
'singular_name' => __( 'Work', '' ),
),
'description' => '',
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_rest' => false,
'rest_base' => '',
'has_archive' => true,
'show_in_menu' => true,
'exclude_from_search' => false,
'capability_type' => 'post',
'map_meta_cap' => true,
'hierarchical' => true,
'rewrite' => array( …Run Code Online (Sandbox Code Playgroud) wordpress url-rewriting slug custom-post-type custom-taxonomy
设置Sentry.io错误跟踪后,当我尝试生成签名 Apk时收到此错误:
Java Compiler
error: An organization slug is required (provide with --org)
Run Code Online (Sandbox Code Playgroud)
我无法理解这一点:
Process 'command
'/var/folders/j4/_fzm1rks3tsc2h3j4l2qbq4w0000gn/T/.sentry-cli1369818638611304938.exe'
' finished with non-zero exit value 1
Run Code Online (Sandbox Code Playgroud)
如何解决此问题并生成签名的 Apk?