WordPress

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

3
过滤任何HTTP请求URI?
我想过滤通过HTTP API完成的所有HTTP请求URI。 用例: WordPress更新检查转到http://api.wordpress.org/core/version-check/1.6/,但https://api.wordpress.org/core/version-check/1.6/也可以,我想要总是使用它。 新的WordPress文件来自http://wordpress.org/wordpress-3.4.2.zip,但https://wordpress.org/wordpress-3.4.2.zip也可以。 有时,我想调试请求并将那些临时请求重定向到本地服务器上的自定义域。 一些插件向其他服务器发出请求,而当外部服务器出现故障时,我想替换这些请求。 目前,更新请求是最重要的请求,因为仍然存在未修复的错误16778(更多信息),并且HTTPS请求降低了中间人攻击的风险。 我进行了彻底的搜索 ,研究了核心代码……但是两年前像Nacin一样结束了: 我以为可以过滤HTTP请求的URL,但现在找不到了。 我错过了什么?是吗 :)

3
W3总缓存,CDN和主题文件
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为WordPress Development Stack Exchange 的主题。 5年前关闭。 我最近更新了WordPress安装的style.css文件。所做的更改是有效的:以管理员身份登录(设置我的博客的目的是,从不为管理员提供该站点的缓存版本,而是“实时”站点),我可以看到它们。 但是我的博客是通过CDN(使用W3 Total Cache)提供的。通过CDN,所做的更改无效:CDN不会提供我主题中修改后的文件。即使修改后我已经上传了它们(“控制台”>“性能”>“ CDN”>“上传主题文件”。 我的CDN在AmazonCloud Front上运行。并且在W3 Total Cache上禁用了Minify。 通过CDN提供的主题文件是一个压缩版本:style.css.gzip 我应该从CDN中“清除”对象还是要等待更多时间(已经超过一周)。是的,我清空浏览器的缓存,以查看更改是否生效。还是我还缺少其他东西? 谢谢, P.

2
主题定制器-设置顺序
如果我在一个部分中添加了5个以上的设置,则设置的顺序会变得很奇怪。 例如: // Link color $wp_customize->add_setting( 'tonal_'.$themeslug.'_settings[link_color1]', array( 'default' => $themeOptions['link_color1'], 'type' => 'option', 'sanitize_callback' => 'sanitize_hex_color', 'capability' => 'edit_theme_options', 'transport' => 'postMessage' ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'tonal_'.$themeslug.'_settings[link_color1]', array( 'label' => __( 'Link color1', 'tonal' ), 'section' => 'colors', 'settings' => 'tonal_'.$themeslug.'_settings[link_color1]', 'choices' => '#ffffff' ) ) ); …


4
在pluggable.php之前加载插件时,如何在插件中调用wp_get_current_user()?
当前结果是“ PHP致命错误:调用未定义函数wp_get_current_user()”,这是有道理的,但无济于事。 我需要使用$ current_user。 这是我当前正在使用的代码: $wp->init(); do_action( 'init' ); // Check site status $file='http://xxxxxxxx.com/wp-admin/wp_includes/pluggable.php'; if ( is_multisite() ) { if ( true !== ( $file = ms_site_check() ) ) { require( $file ); die(); } unset($file); } // Get the current user's info $current_user = wp_get_current_user(); if ( !($current_user instanceof …

3
编辑器样式和Typekit
我的网站使用Typekit来获取自定义字体,该字体可在前端使用。 我想将其放在后端的编辑器样式中。但是,我不知道该怎么做。Typekit使用js嵌入代码段,而不是css字体嵌入代码段。
10 admin  editor 

5
从帖子内容中获取第一张图片(例如:热链接图片)
我直接从Codex使用此代码。 function echo_first_image ($postID) { $args = array( 'numberposts' => 1, 'order'=> 'ASC', 'post_mime_type' => 'image', 'post_parent' => $postID, 'post_status' => null, 'post_type' => 'attachment' ); $attachments = get_children( $args ); //print_r($attachments); if ($attachments) { foreach($attachments as $attachment) { $image_attributes = wp_get_attachment_image_src( $attachment->ID, 'thumbnail' ) ? wp_get_attachment_image_src( $attachment->ID, 'thumbnail' ) …

1
全新安装中的PHP警告(连接超时)
访问全新的WordPress 3.4.1安装程序(挪威语)时,出现此PHP警告。 警告:fopen(URL_TO_MY_WORDPRESS_PAGE / wp-cron.php?doing_wp_cron = 1341476616.7605190277099609375000):无法打开流:连接超时在PATH_TO_MY_WP_FILES / wp-includes / class-http.php行923 当然,这是在开发服务器上运行时将WP_DEBUG标志设置true为的。 这是间歇性发生的,因此似乎是一个问题wp-cron。 这可能是WordPress中的错误还是服务器上的错误?我应该担心吗? 该服务器是带有LAMP堆栈的全新Ubuntu Server 12.04 VM。 Google搜索显示我不是唯一经历过这种情况的人。(请参阅列出的页面的缓冲/索引版本,以查看实际错误。) 编辑:我也在首页上得到了同样的PHP警告。这可能与Web服务器被NAT到的事实有关吗?当前,我已经设置了防火墙,以将端口19235指向开发服务器上的80。
10 wp-cron  warnings 

6
更新的最佳做法是什么?
不想做任何事情来破坏我的博客。以下是一些与升级有关的问题: WordPress应该多久更新一次? 最好的方法是什么? 如何知道插件是否有问题?当新版本的Wordpress推出时,我们无法知道现有插件是否存在问题。 插件应何时更新?与Wordpress同时? 在发布Worddpress之前是否有运行测试套件?它包括插件吗?


2
如何从添加/编辑帖子类型中删除某些屏幕选项和元框?
现在,当您在所需的帖子类型中添加或编辑特定帖子时,还有更多屏幕选项。虽然,这些屏幕选项正在显示/隐藏元框。我希望能够以编程方式获取所有已注册的元框屏幕选项的列表,以便我可以再次检查是否存在某些屏幕选项数组,如果存在,我计划以编程方式将其删除。 点击这里查看全尺寸截图 问题 我如何以编程方式获取帖子类型上所有已注册的屏幕选项(元框)的列表,您想在其中添加或编辑所需帖子类型内的特定帖子。 最终,这里的目标是删除这些选项,而不仅仅是禁用它们。我希望按照删除不必要的仪表板meta框所完成的工作来做。

1
如何在/ blog /前添加帖子永久链接-不影响自定义帖子类型?
我有几种自定义帖子类型,它们的结构正确地为/%post_type%/%postname%/,但是我希望对常规博客条目具有相同的效果:/blog/%postname%/ 如果我在永久链接结构之前加上/blog/它也会影响自定义帖子类型,那么目前我的永久链接结构很简单/%postname%/ 建议使用哪种方法?我有一个涉及一些重写的​​解决方案,但是帖子编辑器区域中显示的固定链接无法反映出来。

3
如何显示WP_User_Query的分页链接?
我想我已经差不多了,但是我无法获得分页链接来显示我正在创建的作者目录。 我的代码在下面,但是我不知道如何获取链接以在作者的工作页面之间导航。谁能帮我?我感觉这可能有用,但是我不知道如何实现它: paginate_links() 谢谢 大须 <?php /* ****************************************************************** */ /* !LIST AUTHORS */ /* ****************************************************************** */ // THANKS TO: // http://www.mattvarone.com/wordpress/list-users-with-wp_user_query/ // pagination $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // Needed for pagination $paged -= 1; $limit = 2; $offset = $paged * $limit; // prepare arguments $args = …

3
如何覆盖主题中的可插拔功能?
我遇到的所有文档都讨论了通过插件重写可插拔功能。 如果您要进行主题开发该怎么办? 我的functions.php需要另一个文件来覆盖get_user_by()功能,该文件在中定义pluggable.php。 如果我忽略该if( function_exists() )呼叫,则会收到“无法重新声明...”错误。 如果包含该if( function exists() )调用,则不会出错,但是由于存在可插入版本,因此当然会忽略我的函数。 根据Dominic 在WordPress启动命令上的精彩文章,很明显,该pluggable.php加载是在主题的加载之前进行的functions.php,依此类推,因此可以解释该错误。 因此,问题是-您如何在主题内利用好用的可插拔体系结构,而无需编写必须与主题捆绑或安装的插件? 进一步说明:因此看来,论点是主题不应该尝试执行插件所做的事情。但是该论点已经有四年多了(根据4位数的追踪数)。考虑到当今主题开发领域的复杂拓扑结构,我很乐意从一些沉重的打击者那里听到这种哲学是否仍然适用。我想相信我们从那以后就已经发展了。 上下文:我正在为客户开发一次性CMS解决方案,其中包含许多自定义元数据,Admin后端的自定义,登录/身份验证过程以及各项工作。当然,这里有设计组件-就是主题部分所在的地方。事实是,这些组件根本不是可重用的组件-它们永远不会应用于其他客户,也永远不会置于GPL之下并开源,它们是大多数当然不会在其他WordPress部署中分发/安装。充其量,我会在将来的项目中利用一些最佳实践,但这绝对是参考/复制粘贴工作。 这听起来不像是我的插件用例。该主题已安装,可能是“二十一”的子主题,也可能是一个独立的主题,它的functions.php调用包含一系列内容,每个都处理所涉及的CMS的不同方面。然后,主题模板文件将使用包含中定义的自定义“模板标签”。我不想让主题文件依赖于某些插件或其他被激活的对象,等等。在系统中增加复杂性只是没有意义。当然,我可以将其放在必须使用的plugins文件夹中,但是仍然感觉像黑客一样-现在,与为此项目进行的自定义相关的所有内容都包含在中wp-content/themes/my-theme/。我也不想考虑在某些插件文件夹中搜索内容。 不要误会我的意思。我喜欢插件,并且使用它们并编写它们。当插件是第三方并且代表最佳实践时,我确实将插件与这种高度定制的主题开发结合使用,远远超出了我在合理的时间范围内可能会推出的最佳实践。但是,当我需要为一次性场景修改核心功能时,我转向动作挂钩,过滤挂钩,并且我也希望能够依赖于用户和身份验证方面的可插入功能。

2
寻找WordPress系统图
我正在寻找WordPress图表/图表系统设计。 我仅找到模板层次结构图,但这只是系统的一部分。 来源:http : //upload.wikimedia.org/wikipedia/commons/3/3d/Wordpress_Template_Hierarchy.png

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.