WordPress

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

1
存储在多维数组中的更新选项
我wp_options表中的数据当前存储为多维数组(profile_element_order): a:12:{s:17:"img_base64_enable";s:1:"1";s:25:"moulding_combination_page";s:0:"";s:24:"moulding_collection_page";s:0:"";s:25:"idea_gallery_thumb_height";s:3:"200";s:24:"idea_gallery_thumb_width";s:3:"200";s:23:"collection_thumb_height";s:3:"200";s:22:"collection_thumb_width";s:3:"200";s:20:"profile_item_columns";s:1:"4";s:17:"idea_item_columns";s:1:"2";s:24:"collections_item_columns";s:1:"2";s:25:"combinations_item_columns";s:1:"4";s:21:"profile_element_order";a:5:{i:0;s:8:"Option 1";i:1;s:8:"Option 2";i:2;s:8:"Option 3";i:3;s:8:"Option 4";i:4;s:8:"Option 5";}} 我想要完成的是更新profile_element_order选项(在这些选项中)。到目前为止,这是所有内容的样子: function psort_save_order() { global $mouldings_options; $list = $mouldings_options['profile_element_order']; $new_order = $_POST['list_items']; $new_list = array(); // update order foreach($new_order as $v) { if(isset($list[$v])) { $new_list[$v] = $list[$v]; } } // save the new order update_option('profile_element_order', $new_list); die(); } add_action('wp_ajax_psort_update_order', 'psort_save_order'); 数据正确地发布到了DB表中(正如我可以看到的一些失败尝试那样,它们是新的选项条目,例如mouldings_settings->profile_element_order),我很难确定update_option()该特定选项的语法。我已经尝试过类似的事情(记住`mouldings_settings是实际的选项名称): mouldings_settings['profile_element_order'] $mouldings_options['profile_element_order'] …


5
生成动态javascript / CSS的解决方案
假设您需要根据当前上下文生成JavaScript或CSS代码。 例如,您在主页上有一个表单,该表单在提交时会触发ajax请求,而在单个页面上有另一种表单。或者对于CSS,您想要创建一个主题,允许其用户构建自己的布局,更改颜色等。 到目前为止,我看到的解决方案是: 将代码包含在文档的开头部分(如果是JS,则在结尾处) 进行特殊请求以输出代码,例如site.com?get_assets。这很慢,因为WP被加载了两次。 将其存储在临时文件中一定时间,然后从那里加载它。对于公共主题或插件不是很可靠。 仅Javascript-通过将其放入每次加载的普通文件中使其变为静态。在这种情况下,您将必须使代码处理任何情况 你认识别人吗 你会走哪条路?


4
如何删除硬编码的缩略图尺寸?
使用插入时,<?php the_post_thumbnail(); ?>如何从post_thumbnail中删除width和height属性? <img width="800" height="533" src="http://domain.com/wp-content/uploads/2011/02/image.jpg" class="attachment-post-thumbnail wp-post-image" />

5
网络安装中的站点管理员无法编辑用户?
对于Stack Exchange社区博客,我们已经设置了网络安装。有人告诉我,站点管理员角色不允许用户进行编辑。将鼠标悬停在网站的用户页面上时,只有一个选项delete,没有一个针对edit。 与用户权限相关的唯一选项如下,但实际上并不是我要这样做的... 如何使站点管理员能够完全控制该特定站点上的用户?



10
WordPress插件开发-已发送邮件头
我正在开发WordPress插件。激活插件时,我收到以下消息: 该插件在激活期间生成了293个字符的意外输出。如果您发现“标题已发送”消息,联合供稿问题或其他问题,请尝试停用或删除此插件。 该插件运行良好,但我不知道为什么收到此消息。我的插件是:http : //wordpress.org/extend/plugins/facebook-send-like-button/

4
SSO /身份验证与外部“目录服务”集成
我将开始为客户设计原型-所需的功能之一是与内部用户身份验证/注册系统集成。 该系统将充当权威用户数据库,并提供RESTful接口,用于创建新用户和验证有效用户。 我需要能够在WP中创建新用户,并且在该过程中需要调用外部身份验证API以创建/验证该用户。 一个有效用户但不为WP所知的人应该能够登录以发表评论,而无需自己在WP网站上进行注册。 登录整个网站的人也应该自动登录WordPress。 我在想以下是要走的路。 对于(1)-是否可以使用注册钩? 对于(2)-我假设我钩住了身份验证过滤器-即当有人尝试登录时,我将其捕获,调用了外部系统,然后处理WP登录或将其重定向到注册过程,其中( 1)需要。 对于(3)-阅读主站点设置的登录cookie,然后继续(2)? 我想我还需要在用户和usermeta表中插入一条记录。 因此,以上是否有意义-我是否未考虑任何事情。任何人都有很好的资源来帮助解决此问题(@hakre-我看到您已经在此方面做了一些工作!!)。 更新资料 因此,我仍然对此有点b之以鼻,本质上讲,我试图插入身份验证过滤器,并将其用于: 检查是否设置了“主”站点的登录cookie,如果已设置,则根据其身份验证API重新验证,如果有效wp_signon(),则使用主站点cookie中包含的信息(电子邮件和哈希密码)强制使用WP登录。作为WP的凭证 如果未设置Cookie,请重定向到主站点登录页面并获得登录名/注册名,然后返回到步骤1 如果存在经过身份验证的主站点用户时没有WP用户,请创建它,然后进行“透明”登录(即,使用户看不到WP登录表单) 基本上,我想完全将WP登录表单隐藏起来,而这些用户只打算主要发表评论,然后找到一种方法,允许作者和管理员直接访问它。 进度相当缓慢,以下是我可以使用的一些帮助: 认证过滤器是正确使用的过滤器吗?我似乎并没有在所有情况下都调用它-例如,meta小部件显示登录/注销链接而未启用身份验证钩子 我可以wp_signon()返回一个WP_User对象(表示成功),但它不会影响登录状态-即即使刷新后,元窗口小部件仍将显示在“登录”中。 任何帮助表示感谢:)

5
有什么Joomla或Drupal可以做的事情无法在WordPress中完成吗?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我有一个客户想要使用Joomla,因为他们被告知这很好。我试图说服他们WordPress是一个更加用户友好的选择。 我之前曾与Joomla(和Drupal)一起玩过,但发现学习曲线异常陡峭(可能是由于他们的术语晦涩难懂)。我认为自己在技术上很精明,如果我觉得很难,我相信技术能力不强的客户会发现它更加晦涩难懂。 到目前为止,我还没有遇到客户端无法在WordPress中完成的任何事情,但是在我告诉他们之前,我想确认是否确实如此。 Joomla或Drupal是否可以做WordPress无法做的任何事情(尤其是现在在WP 3+中具有自定义帖子类型)?

4
如何保护WordPress文件和文件夹权限
我已经阅读了有关使用.htaccess保护wp-config.php以及设置正确文件权限的文章,但我希望将它们全部放在一个地方。我的.htaccess文件应该是什么样子?拥有777和755权限可以安全地存放在哪个文件夹中?

3
如何使用WordPress链接外部jQuery / Javascript文件
因此,我使用Starkers作为下一个WP主题的基础,并且遇到了一个小问题,我在header.php文件中包含了自己的jQuery版本,但是在使用Firebug检查我的网站时,我发现jquery被下载了两次,做了一些挖掘,发现不仅我包括了文件,而且wp_head()函数也包括在内。 在尝试解决该问题时,我注意到头文件中有一条注释,该注释源自“二十十”主题: /* Always have wp_head() just before the closing </head> * tag of your theme, or you will break many plugins, which * generally use this hook to add elements to <head>, such * as styles, scripts, and meta tags */ 所以这是我的问题,我的印象是,必须在要使用它的任何其他文件之前设置jQuery文件,这wp_head()应该是<head>元素中的最后一件事,我现在有点困惑,因为我想知道我放在wp_head()顶部,因此WP包含的jQuery文件将用于我的所有插件,即使它说不这样做也是如此。 我确实在wp_head()函数中注释掉了jQuery行,但是它是管理页面所必需的,因此我不得不将其放回去。 我还想使用(至少是实验)来使用jQuery的Google CDN版本,但是不想两次包含它! 希望您理解我要解释的内容,关于如何解决此问题的任何建议将不胜感激。对于您如何使用头文件处理JavaScript文件的任何建议,我也将不胜感激。 谢谢!

4
如何以编程方式更新序列化选项?
我想自动更新插件选项。有些事情我会重复很多。 使用wp-cli,我知道我可以更新像这样的简单选项: php wp-cli.phar option update blog_public 1 但是,某些插件选项会将其选项保存在序列化字符串中。 wp_options中序列化的option_value的示例: a:9:{s:4:"from";s:21:"xx@xxx.com";s:8:"fromname";s:51:"xxx";s:4:"host";s:13:"smtp.xx.com";s:10:"smtpsecure";s:3:"ssl";s:4:"port";s:3:"465";s:8:"smtpauth";s:3:"yes";s:8:"username";s:21:"xx@xxx.com";s:8:"password";s:13:"xxx";s:10:"deactivate";s:0:"";} 如何更新这些选项?
15 options  wp-cli 

3
为什么没有将query_posts()标记为已弃用?
从query_posts()技术上讲,有两个功能。一个query_posts()实际上是WP_Query::query_posts(),另一个在全球空间。 从理智上问: 如果query_posts()说这个“邪恶”是全球性的,那为什么不弃用呢? 或为什么未标记为_doing_it_wong。

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.