WordPress

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


3
监视我开发的主题未来更新需求的最佳做法?
我最近开发了一个主题,该主题已被WordPress存储库接受。我想为我的用户保持更新。建议的监视主题更新需求的方法是什么?我的猜测是,也许应该在每次主要的WordPress核心更新时都检查不赞成使用的功能并使用debug等插件,这是否正确? 其他开发人员多久检查一次他们的主题,以及检查他们使用的流程是什么?非常感谢,我已经搜索了,但是在任何地方都找不到此信息。

1
为自定义帖子存档添加菜单项
我创建了一个自定义帖子类型(project),它可以完美运行。我有一个自定义存档页面(archive-project.php),效果也很好,但是在网站的主菜单中添加指向该自定义帖子存档的链接的最佳方法是什么? 我已经创建了一个自定义链接(请参见下文),但是有没有一种更好的方法而不是那么难编码的呢?

1
IP地址白名单以更新WordPress核心和插件
我正在基于具有严格防火墙规则的主机的站点上工作。除非该站点的IP地址已明确列入白名单,否则它将不允许该站点上运行的任何内容与外部服务器联系,而且我必须通过电子邮件将这些地址发送给托管公司。 Akismet 在此处提供了一个方便的安全IP地址列表,这使我能够正常工作。但是我无法找到等效的地址列表以允许通过wp-admin或访问WordPress插件目录来更新WordPress核心。(我仍然可以通过FTP进行手动上传。) 有谁知道在哪里可以找到白名单,还是可以告诉我WordPress核心更新程序和插件目录的IP地址? 谢谢
8 core  ip 

2
is_front_page()故障?
我有一个非常基本的问题,我很惊讶WP没有针对它的本机解决方案(除非希望能够忽略某些事情)。 我有一个WP网站,static page在阅读设置中设置为首页。在一个插件代码中,我试图确定WP是否正在显示首页,并为$classes数组添加一个类(如果是)。我正在使用以下代码来完成它 add_filter('body_class', function($classes){ if(is_front_page() || is_home()){ $classes[] = 'home-page'; } return $classes; }); 我同时使用这两种方法is_front_page(),is_home()以防将来首页设置从静态页面更改为博客布局。 我遇到的问题是这段代码甚至在页面上都添加了home-page类。 bodywp-signup.php 检查代码可以发现该is_front_page()调用WP_Query::is_front_page()实际上是返回的结果WP_Query::is_page(get_option('page_on_front'))。因此,问题的根源在于它wp-signup.php等于返回的页面(id)get_option('page_on_front')(该ID静态页面的返回值是在设置>阅读中设置为首页)。 WP_Query::is_page()在WP_Query::get_queried_object()内部用于确定当前页面是否为方法参数中存在的页面。在wp-signup.php情况下,将当前的查询对象的代码是如下 /*...other code... */ elseif ( $this->is_singular && ! empty( $this->post ) ) { $this->queried_object = $this->post; $this->queried_object_id = (int) $this->post->ID; } /*...other code... */ 这表明由于某些原因,wordpress查询首页以显示wp-signup.php并提出以下问题。 为什么is_front_page()返回错误结果? wp-signup.php永远无法使用Wordpress管理员设置将AFAIK 设置为主页,那么为什么不仅仅通过选中PHP_SELF或来保存wordpress代码REQUEST_URI? 为什么此时WP_Query具有当前主页$this->post? 我已经通过删除plugins(和mu-plugins)目录排除了插件问题。它仍然可以wp-signup.php作为首页,而没有其他页面。 …

1
如何使用WordFence设置fail2ban?
我找到了一篇博客文章,内容涉及设置Wordfence和fail2ban,但由于没有提及任何技术活动,因此它毫无用处。仅仅花了作者总共5个小时。 我想在不到5小时的时间内与Wordfence一起设置fail2ban。如果我必须自己弄清楚事情并花更多时间,我想记录下来,以便其他人可以在5个小时内完成。因此,这里的问题是:如何使用Wordfence设置fail2ban? 快速入门: sudo apt-get install fail2ban wp plugin install --activate wordfence 这篇文章看起来已经有用得多了,但是没有提到Wordfence。
8 security 


1
如何在WooCommerce电子邮件模板中访问产品简短说明?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为WordPress Development Stack Exchange 的主题。 5年前关闭。 我想在WooCommerce电子邮件的订单项表内的产品名称下方输出产品简短说明。我想我知道将代码放置在电子邮件模板文件中的什么位置,但是我不知道如何访问项目的描述。我看不到任何检索它的机制。我需要做些什么来回荡领域? 提前致谢!

1
调用WordPress.org API是否有限制?
我正在编写一个可以调用https://api.wordpress.org/plugins/info/1.0/{slug}.json的插件 调用WordPress.org API是否有限制?例如每小时一次或每10分钟一次,等等。了解更多-https://codex.wordpress.org/WordPress.org_API#Plugins

2
允许自定义角色访问后端的自定义帖子类型
所以我对此有一些疑问,我不知道为什么。我只需要一个可以访问后端博客的自定义角色。 我添加了一个具有Capability类型的新帖子类型,blog以及一个具有所有上限的新用户角色,这将允许管理员访问用户添加/编辑自定义帖子类型。这适用于管理员,他们可以在后端访问帖子类型。但是,具有我的自定义角色的用户根本无法进入后端。 注释的帖子类型参数 "capability_type" => 'blog', "map_meta_cap" => true, 注册角色 function add_blog_manager_role(){ add_role( 'blog_manager', 'Blog Manager', array( 'read' => true, 'edit_posts' => false, 'delete_posts' => false, 'publish_posts' => false, 'upload_files' => true ) ); } add_action( 'admin_init', 'add_blog_manager_role', 4 ); 加盖 function add_blog_role_caps() { $roles = array('blog_manager', 'editor','administrator'); foreach($roles as …

3
为什么需要在数组中包装一个函数($ this,function)
我是PHP和WordPress的新手,所以请保持温柔! 我正在构建一个插件-遵循一些教程,使其全部正常工作。 我的问题是,为什么要调用的函数包含在array($this, function)?中?例如,我的类中有此构造函数代码 function __construct() { add_action( 'admin_init',array( $this, 'getStuffDone' ) ); } getStuffDone函数可以正常启动-但是为什么必须采用其所使用的格式? 非常感谢任何见解。
8 php 

2
更好地触发带有参数的特定挂钩或通用挂钩?
我正在创建一个表单插件来处理可被开发人员使用动作/过滤器挂接到的表单。 我的插件需要能够使用不同的过滤器集来处理不同的表单,我看到了两种方法。 方法1 每种形式的特定挂钩的火。 因此,这样的代码可以在我的插件中称为表格: $formId = 'contact'; $errors = apply_filters('forms_validate_' . $formId, $errors, $data); 可以这样使用: add_filter('forms_validate_contact', function($errors, $data){ if(empty($data['name'])){ $errors['name'] = 'Name is required'; } return $errors; } 10, 2) 方法2 将参数传递给调用函数。 因此,这样的代码可以在我的插件中称为表格: $formId = 'contact'; $errors = apply_filters('forms_validate', $formId, $errors, $data); 可以这样使用: add_filter('forms_validate', function($formId, $error, $data){ switch($formId){ case …
8 plugins  hooks 

1
如何更改特定尺寸的图像类型?
我正在优化一个站点,在网格中的页面上有大量(几十个)图像。为了支持视网膜,图像也需要为2倍大小。 悬而未决的结果是要确保加载缩略图大小(由于视网膜而仍为520像素宽),而不是原来的完整大小。 但是,几乎所有图像都保存在PNG中。这在摄影图像上是巨大的浪费。生成的缩略图为JPG是有意义的...除了似乎没有一种方法可以这样做。 从核心代码中看,最接近的似乎是,WP_Image_Editor->get_output_format()但易于调整并针对特定的大小似乎并不友好。 代码中是否还有其他地方可以尝试更改生成的图像类型?

2
当oEmbed失败时,显示替代
我想指定当oEmbed失败时将显示的替代图像。 具体用例是在中国(或其他国家)阻止YouTube时提供替代方案。我们知道YouTube内容在那里不可用,但是在这种情况下,我们想提供一个备用图片。 为此,可以使oEmbed错误代码可访问吗?
8 oembed 

1
2个月后自动删除不活动的用户
我正在尝试修改此功能: // automatically delete users after 7 days in wordpress function wcs_auto_delete_users() { global $wpdb; $query = $wpdb->prepare( "SELECT ID FROM $wpdb->users WHERE datediff( now(), user_registered ) > 7" ); if ( $oldUsers = $wpdb->get_results( $query, ARRAY_N ) ) { foreach ( $oldUsers as $user_id ) { wp_delete_user( $user_id[0] ); …

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.