WordPress

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

4
有没有一种方法可以从post变量中排除内容以节省RAM使用量?
因此,我遇到了看起来像WP RAM使用问题的问题,并且正在寻找解决方案。 我在网站上真正遇到这个问题的唯一地方是我尝试填充的“网站地图”页面,但是可以普遍应用此问题的解决方案,并节省整个网站的RAM使用率。 从本质上讲,这个网站地图页面我是所有人的名单posts,并pages在我的网站。我需要在此页面上访问的$ post变量的唯一元素是标题和永久链接。不幸的是,我正在使用的查询返回所有帖子,以及每个$ post变量中的所有信息。 以下是我在此站点地图页面上使用的一个查询示例,该查询custom-post-type具有一个自定义分类法“补充”和术语“所有补充” 的单个“产品”。我的站点地图页面具有多个此类查询,但出于解释目的,我仅包含此单个查询的代码。 $varArray= array( 'post_type' => 'products', 'post_status' => 'publish', 'supplements' => 'all-supplements', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC' ); $myProducts= new WP_Query($varArray); $ post变量中保存的绝大多数信息(对于我的网站,我想这个趋势通常用于通用)在“内容”中找到。我的“站点地图”页面的典型RAM使用量约为140MB (由Debug Bar报告),而我网站上任何其他典型页面的使用量为50-60MB。很大的区别。昨天,“站点地图”页面停止工作(WSOD),要解决此问题,我不得不增加WP可以使用的最大RAM量。因此,由于只有一页,因此我增加了总体必要的系统资源。 因此,我提出了问题。 有没有在WordPress的路径/选项的地方,我的思念,将获取posts/ pages像一个正常的查询,但不获取检索到的帖子的内容? 或者,是否有一种更简单的方法让我仅获取给定查询(标题/ Permaklink / Slug / etc ...)中的特定元素,而不是获取整个$ post变量shebang? 在我看来,对于许多WP应用,唯一的地方,通常会需要后/页的“内容”是对page或post页面(当然这里也有例外),并有机会获得职位的全部内容通过其他页面上的查询检索到的/ pages是简单的矫kill过正。如果有一种方法可以避免加载列表列表页面的全部内容,则可以节省大量的RAM使用量。 任何帮助,将不胜感激。

1
如何在style.css之前加入样式
加载style.css之前如何排队.css文件?还是使默认的style.css依赖于另一个.css文件? 我正在尝试加载.css重置,而style.css会覆盖该重置。 这是我所拥有的: add_action('wp_enqueue_scripts', 'load_css_files'); function load_css_files() { wp_register_style( 'normalize', get_template_directory_uri() . '/css/normalize.css'); wp_enqueue_style( 'normalize' ); } 但是,这是在style.css之后加载的。

2
为语言创建自定义的永久链接结构
我编写了一个简单的多语言系统,其中单击一个标志图标可以设置一个包含两个字母语言代码(例如nl,de等)的一年cookie。 我加入了wp操作以读取Cookie值,然后使用the_title和the_content过滤器显示正确的语言(通过页面/帖子编辑屏幕上的元框输入不同的语言)。 这一切都很好,除了我还希望每种语言版本都有一个永久链接,即两个字母的语言代码位于域名和通常的永久链接结构之间。我使用的是%postname%永久链接结构,因此以下所有内容均有效: http://example.com/nl/about-us http://example.com/de http://example.com/fr/2012/03 http://example.com/es/this-is-a-post-title 如果当前语言是英语,则不应使用两个字母代码(它将是常规的永久链接)。 到目前为止,我已经使用query_vars过滤器添加了一个名为的查询变量lang,但这已经远远不够了,我不确定下一步是什么。任何建议,不胜感激!

2
默认情况下,如何在管理区域中仅显示发布的帖子/页面?
实际上,WordPress默认显示管理区域中页面/帖子列表中的所有页面/帖子,无论它们的发布状态如何。 我有很多草稿,但是通常我对编辑已发布的页面/帖子更感兴趣,因此仅显示它们需要再次单击并重新加载。 有没有一种方法可以将WordPress设置为最初只显示已发布的帖子/页面,如果以后需要,可以单击“全部”或“草稿”?

1
在待处理项目的多个CPT菜单上放置类似更新的通知气泡
就像“插件”或“评论”菜单项如何在气泡中分别显示这些数字通知以进行更新和未审阅的注释一样,我想使用该气泡来显示具有“待审核”状态的CPT的数量。如何去做呢? 我已经找到了这个线程,但是不太确定从那里去哪里。 那会很整洁;因为我需要在使用用户生成的内容(自定义帖子类型)的网站上使用此功能。每当用户提交新的CPT时,其状态都将设置为“待审核”,我希望网站管理员可以快速浏览菜单以查看需要关注的项目。 编辑:我现在有此代码: // buuble notifications for custom posts with status pending add_action( 'admin_menu', 'add_pending_bubble' ); function add_pending_bubble() { global $menu; $custom_post_count = wp_count_posts('custom-post-name'); $custom_post_pending_count = $custom_post_count->pending; if ( $custom_post_pending_count ) { foreach ( $menu as $key => $value ) { if ( $menu[$key][2] == 'edit.php?post_type=custom-post-name' ) { $menu[$key][0] …

3
WooCommerce商店页面使用我的自定义模板
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为WordPress Development Stack Exchange 的主题。 5年前关闭。 在提出问题之前,我想告诉您,我已经在/programming/15025213/wordpress-woocommerce-template-file-overiding中提出了问题 我正在使用WooCommerce插件开发网站。WooCommerce一切都很好。根据我的要求,我已经从WooCommerce仪表板将主页配置为商店基础页面,以使我的主页成为商店页面。现在,我的要求是放置一些应从管理端上传的图像,并在图像上显示一些文本。对于该功能,我在G​​oogle上进行了搜索,有人建议我使用WordPress Advanced Custom Fields。我刚刚安装了它。 现在,我看到WooCommerce没有使用我的自定义主题。它使用自己的自定义主题。因为我想使用“ 高级自定义字段”插件显示图像和文本,所以我确实需要自己的自定义模板来使用对图像和文本的查询。然后,我再次在Google上搜索了解决方案,并得到了建议,只需将主题的副本复制page.php到其中woocommerce.php,然后替换代码即可: <?php while ( have_posts() ) : the_post(); ?> <?php get_template_part( 'content', 'page' ); ?> <?php comments_template( '', true ); ?> <?php endwhile; // end of the loop. ?> 与 <?php woocommerce_content(); ?> 我这样做了,但仍然没有从“高级自定义字段”中获取我的自定义字段。所以请帮助我。任何建议和帮助将不胜感激。谢谢。 我的代码用于显示图像和文本的高级自定义字段,如下所示: <?php …

1
将容器添加到nav_menu子菜单
有什么办法可以将div包裹在wp_nav_menu的ul.sub-menu周围 因此,例如标记将从 <ul class="menu"> <li><a href="/">Item 1</a></li> <li> <a href="/">Item 2</a> <ul class="sub-menu"> <li><a href="/">Item 1</a></li> <li><a href="/">Item 1</a></li> </ul> </li> <li><a href="/">Item 1</a></li> <li><a href="/">Item 1</a></li> </ul> 对此 <ul class="menu"> <li><a href="/">Item 1</a></li> <li> <a href="/">Item 2</a> <div class="sub-menu-wrap"> <ul class="sub-menu"> <li><a href="/">Item 1</a></li> <li><a href="/">Item 1</a></li> </ul> </div> …

9
WordPress拒绝发送邮件,“ ...您的主机可能已禁用mail()函数”
我最近在我的网站上实现了评论区,并试图使电子邮件通知正常工作。做出新评论时,它似乎不想发送电子邮件通知。 只是为了查看PHP是否可以发送电子邮件,我试图重置密码(因为您将通过邮件获得一个新密码),然后收到消息: 电子邮件无法发送。可能的原因:您的主机可能已禁用mail()函数 我已经检查了“设置”->“讨论”中的复选框,并且该电子邮件有效,因此这不是设置问题。我尝试创建一个PHP文件并使用发送mail(),并且发送成功。因此,WordPress一定有些奇怪的事情。 有任何想法吗?
9 php  wp-mail  email 

5
挂钩优先级是否有限制?
当我希望过滤器或操作挂钩覆盖所有其他过滤器时,我将其分配为的优先级999。但是,最近我看到有些人使用极限值作为优先级,例如20000,甚至99999 除了使用如此高的优先级是荒谬的事实,它们是否真的有效?挂钩优先级是否有限制?如果超过限制会怎样?使用极端优先级时是否存在性能差异? 更新: @harke表明堆栈溢出的数量由限制PHP_INT_MAX
9 hooks 

4
动态更改页面的the_title()
我正在开发一个不使用自定义帖子类型,而是使用单独的数据库表的插件。它是一个插件,它显示课程列表,并带有指向不同课程详细信息页面的链接,然后用户可以在其中订阅课程。 在当前状态下,我正在使用简码将插件数据放入具有自定义页面模板(page-courses.php)的页面中。 我现在要the_title()根据插件显示的页面(课程列表,带有表单的课程详细信息页面,表单提交成功页面)进行动态更改。但是只要我使用以下过滤器执行此操作,到页脚中其他页面的链接也会更改: <?php add_filter('the_title', 'custom_page_title'); function custom_page_title() { return 'Custom Title'; } 编辑 在footer.php中,我具有一个包含页脚链接的函数,wp_nav_menu()因此可以在外观>菜单中对其进行定义。但是,使用上面的过滤器后,页脚中的所有链接也会更改为“自定义标题”。但我只想更改页面标题,而不影响页脚中的菜单链接。 试图添加条件标记in_the_loop()的页脚链接仍然受到影响,尽管它们不在循环中。 <?php add_action( 'loop_start', 'set_custom_title' ); function set_custom_title() { if ( in_the_loop() ) { add_filter( 'the_title', 'custom_page_title' ); } } function custom_page_title() { return 'Custom Title'; } 类似于这个问题:在nav中过滤the_title问题,只是受影响的链接在页脚中,in_the_loop()并且不起作用。 我如何更改the_title()而只影响显示的当前页面标题而不影响页脚中的链接? 编辑2-解决方案 所以我终于让它工作了: <?php add_action( 'loop_start', 'set_custom_title' …


2
“原始” MU安装中可以接受哪些资产URL?
WordPress似乎可以通过MU安装中的许多URI来寻址内容。例如: example.com/wp-content/blogs.dir/5/files/picture.jpg example.com/bob/files/picture.jpg example.com/bob/wp-content/blogs.dir/5/files/pictures.jpg 所有这些似乎都路由到同一地方。还有更多别名吗?哪一个是规范的?这些是偶然的吗?有相关的过滤器吗?

3
WP_User_Query排除没有帖子的用户
我看到可以按每个用户的帖子数对用户查询进行排序,但是可以从结果中排除帖子为零的用户吗?在Wp_User_Query类中有一个pre_user_query操作,但是查询字符串是一个巨大的弱点,因此我不确定在这里要使用哪种过滤器操作。

4
阻止插件的网络激活
我有一个目前不支持网络激活的插件。当然,最好的解决方法是修复它:),我打算这样做。但是,我想知道是否有一个临时解决方案可以同时防止网络激活,可能是类似于以下的工作流程: 检测激活是否在整个网络范围内(如何?) 显示当前不支持的消息,很抱歉,很抱歉 中断激活或停用 或者,接受其他建议。谢谢。 需要说明的是:多站点激活很好,但不是整个网络范围的激活。

2
wp-content / install.php是插件吗?
我找不到有关什么是以及如何使用Drop-in插件的文档或讨论。 在此问答中提出了问题,请在安装时填充内容。 wp-content/install.php重新定义可插拔功能的文件是否是wp_install_defaultsDrop-in插件? 我的研究结果 以下列表来自hakre的文章 (这似乎是互连网中所有其他副本的来源)。 File Type of Plugin Loaded Context advanced-cache.php Advanced caching plugin. on WP_CACHE value Single db.php Custom database class always Single db-error.php Custom database error message on error Single install.php Custom install script on install Single maintenance.php Custom maintenance message on maintenance Single object-cache.php External …

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.