WordPress

WordPress开发人员和管理员的问答

2
如果IPTC关键字中有特殊字符,则上载的图像不会显示在媒体库中
某些上传到WordPress的图像不会显示在媒体库中。图像被上传,甚至被裁剪为定义的尺寸,媒体库中有一个条目,但是预览图像不显示。我什至可以将它们用作特色图片,并且它们可以正确显示在我的网站上。 我能够找到问题的原因:如果JPG的IPTC“关键字”字段中有特殊字符(如德语变音符号),则会出现此问题。只要我使用Exiftool从显示上述问题的JPG中删除“关键字”字段,该文件就可以正常工作。我可以在不同公司托管的两个完全不同的Web服务器上的三个WordPress安装上验证此问题。Wordpress版本是4.4.1。 我倾向于将其报告为WordPress错误。但是在此之前,我想进一步确定真正的问题。我可以发现,对于所有“不良”图像,表中都没有_wp_attachment_metadata条目wp_postmeta。 如果我入侵wp-admin/includes/image.php文件并设置$meta['keywords'] = array();为wp_read_image_metadata(),则一切正常。显然在某处有一些代码使用其结果为该附件wp_read_image_metadata()创建_wp_attachment_metadata一行。但是,_wp_attachment_metadata如果其中的编码字符串错误,则无法插入的代码在$meta['keywords']哪里? 在我的装置中是否有挂钩可以解决该问题?一个显示该问题的WordPress安装被几位精通计算机的编辑使用。告诉他们使用PC上的软件删除有问题的IPTC标签是不行的。但是我也不想在实时系统上破解提到的核心文件。 更新:这是两张相同的图像,其中一张显示问题,另一张则没有。唯一的区别是在“关键字”字段中,一个字段的内容为“甜”,另一个为内容“süß”(德语为“甜”)。

1
链接到特定的“定制程序”部分
我有一个站点,其中包含一些额外的定制程序部分。有没有一种方法可以直接链接到这些文件,以便在页面加载时打开该节? 就像是 http://mysites.com/wp-admin/customize.php#fonts 屏幕截图http://new.tinygrab.com/96412a96d208cf8ff0cf5803327b2d29e0ca68810e.png

3
如何将<span>添加到每个带有文本链接到data-attr的菜单链接?
我如何获得类似下面的内容?我的代码是这样的: wp_nav_menu( array( 'theme_location' =&gt; 'header_menu', 'container_id' =&gt; 'menu', 'link_before' =&gt; '&lt;span data-hover="link-text-here"&gt;', 'link_after' =&gt; '&lt;/span&gt;', ) ); 我想得到以下结果: &lt;nav class="main-nav"&gt; &lt;li&gt;&lt;a href="#"&gt;&lt;span data-hover="Home"&gt;Home&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;&lt;span data-hover="Proyects"&gt;Proyects&lt;/span&gt;&lt;/a&gt;&lt;/li&gt; &lt;/nav&gt; 请给我提意见。

1
何时使用异常vs错误对象vs普通false / null
我正在编写插件,正在尝试确定何时使用不同的错误处理方法。 我正在考虑三种方法: 引发异常(自定义类) 返回错误对象(WP_Error的扩展名) 只需返回null / false 我正在考虑的一些情况 尝试获取/设置注册表中不存在的选项 将无效的值传递给方法(应该很少) 调用类的重载程序无法解析的方法 有什么建议吗?由于编写WordPress插件有一些特殊的注意事项,因此我不确定是否值得在一般的PHP板上进行询问。

3
如何缓存破坏子主题style.css
我的问题可能涉及多个方面,但从本质上讲,我觉得很简单:如何确保对子主题的更改style.css正确地在缓存之间传播? 我在一些地方读到,nnn当将资源提取为时,WP应该/将要放置WP版本http://host/wp-content/themes/theme-child/style.css?ver=nnn。在http://frightanic.com/上的安装中,我看到使用了父主题版本。我有W3 Total Cache和CDN,但是即使禁用了它们,也会wp-content/themes/frightanic/style.css?ver=3.0.7请求类似的资源。3.0.7是Decode父主题的版本。 但是,如果这样,如果我更新子主题CSS而不同时更新WP或父主题,该如何从缓存中清除它?

1
由于多线程缓存崩溃,因此可以替代get_posts()
我正在使用pthreads创建多个线程。每个线程在某一时刻都尝试使用get_posts()如下: $args = array( 'post_type' =&gt; 'post', 'post_status' =&gt; 'any' ); $posts_list = get_posts($args); 但是,我最终遇到以下崩溃: HP Fatal error: Call to a member function get() on a non-object in C:\dev\wordpress\wp-includes\cache.php on line 123 请注意,当我get_posts()在没有线程的代码段中进行相同的调用时,我没有崩溃。 现在,我的问题是,如何get_posts()从pthread线程中调用?如果我做不到,那有什么选择呢? 谢谢。 更新资料 这是示例代码 class My_Thread extends Thread { public function run() { /* DO SOME STUFF …

1
防止WordPress自动添加图片标题
我写了一个插件,为所有未设置(空)标题设置默认标题,并手动设置了标题(非空)。 问题是当我上传新照片(到图库)时,WordPress默认将标题设置为文件名。如何禁用它并强制WordPress使用空字符串作为默认图像标题?
8 images  gallery  title 

1
在产生最大比例尺寸的地方添加图像尺寸
我想添加一个图像尺寸,使生成的图像将是最大可能的尺寸,同时保持4:3的宽高比。 假设我添加了一个图像大小,如下所示: add_image_size( 'cover-image', 2048, 1536, true ); 默认情况下,如果全尺寸图像大于这些尺寸,WP将仅创建具有该尺寸的图像。 但是,假设我的全尺寸图片只有1000px宽。我仍然希望将图像裁剪为最大可能的4:3比例,在这种情况下为1000x750。 能做到吗?
8 images 

2
有效地删除自定义帖子类型的所有帖子
我正在寻找一种安全快捷的方法来删除一个自定义帖子类型的所有帖子。对返回的帖子使用get_posts()和wp_delete_post()均无效;由于涉及的数据库查询数量庞大(超时错误),因此速度不够快。 最好是,我正在寻找一个要删除所有自定义帖子类型的帖子的数据库查询来运行。有什么想法吗?

2
带有WP的JWT身份验证-方法
我们正在使用JWT(JSON Web令牌)通过外部服务对WordPress应用程序进行身份验证。我们正在考虑的电流是这样的: 用户在父网站上登录 父站点将带有用户信息和JWT令牌的POST请求发送到WordPress站点 WP站点存储JWT令牌 每次用户访问新页面时都会检查令牌的到期时间,如果令牌已过期,则用户将被重定向到父站点以再次登录。 我的问题: 这是正确的方法吗? 如何存储JWT令牌?一块饼干?还是在数据库中,以用户的信息作为唯一标识符?注意:用户将不会在WP网站上注册。 如何检查有效期? JWT有一个WP插件,但没有相关文档,因此我不确定它是否可以满足我的目的。

5
我应该怎么做才能将MultiSite从HTTP转换为HTTPS?
我的任务是将多站点实例中的大约100个站点转换为HTTPS。 我可以轻松地编写脚本来访问数据库,并将siteurl和home值更改为HTTPS,这又将迫使站点将脚本排入队列,并在将来将图像嵌入HTTPS,对吗? 好吧,我还将需要遍历所有内部链接的post_content以及使用HTTP的图像,并将其转换为HTTPS。 我可能可以一起鞭打一些东西,但是我想知道我还需要改变什么。GUID对吗?如果使用$ wpdb命令,之后是否需要重新序列化数据库? 我应该先问一下,是否有一个可靠的插件可以帮我解决这个问题?关于此过程,我还需要了解什么? 注意-我们已经拥有所有SSL证书,因此我不必担心。-服务器正在运行linux(redhat)和apache-多站点正在使用子目录-我不知道其他多少,服务器不在我的管辖范围内

2
unfiltered_html和unfiltered_upload实际上会过滤什么?
WordPress的功能包括unfiltered_html和unfiltered_upload,但是我还没有找到有关它们具体允许或阻止其过滤的文档。 我在WordPress网站上发现的唯一提及unfiltered_html是: 允许用户在页面,帖子,评论和小部件中发布HTML标记甚至JavaScript代码。 我已经看到非管理员可以过滤掉JavaScript,但是正在过滤什么HTML? 对于unfiltered_upload: 默认情况下,任何角色(包括超级管理员)都无法使用此功能。需要通过定义以下常量来启用此功能: define( 'ALLOW_UNFILTERED_UPLOADS', true ); 定义此常数后,可以为单个站点安装中的所有角色赋予unfiltered_upload功能,但只有超级管理员可以具有在多站点安装中的功能。 同样,该描述并没有说明允许的内容和过滤掉的内容。 有人可以准确地告诉我unfiltered_html和unfiltered_upload功能允许或阻止哪些元素,代码或文件类型吗?

1
是否有适用于WordPress的自上而下的文档?
这听起来像是一个愚蠢的问题,但是是否有任何自上而下的技术文档可以解释WordPress的工作方式? 有很多“如何做”样式的文档,例如,说明如何完成某件事(安装,编写主题等),但是我很难找到任何提供更全面信息的文档,说明如何WordPress与Web服务器交互,存在哪些主要组件/概念,它们在安装中的组织方式,以及它们如何协同工作以创建交付的网页。 我猜想,如果我在Plugins,Themes,Templates上点击了足够的链接,...我最终将(希望)得到一张相当完整的图片,但是我更喜欢从高级文档开始,然后深入研究与我直接相关。

4
rss-functions.php上的完整路径公开
我在WordPress应用程序上进行了一些安全测试,并注意到所有这些应用程序都在以下URL上公开了完整路径。我敢肯定这已经得到回答,但是我找不到任何信息。 https://mydomains.com/wp-includes/rss-functions.php 转到链接时的错误消息是第8行/home/mydomain/public_html/wp-includes/rss-functions.php中对未定义函数_deprecated_file()的调用 我的RSS主题没有任何内容。 编辑:经过进一步研究,这似乎是大多数WordPress网站上的常见问题。我在网上找到的解决方案实际上并未解决该错误。他们只是说要在php.ini中隐藏错误报告。但这并不能解决问题,并非每个人都可以根据托管情况访问php.ini。
8 security  rss 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.