WordPress

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

3
批量删除帖子修订的最安全方法
我的一位客户在帖子数量和访问量方面都在一个相当大的博客上。我正在尝试将她的数据库缩小到可管理的大小,而堆积如山的一件事实际上是数以万计的后期修订。 我已经设置了Wordpress配置,以限制将来的修订版本数为两个: define('WP_POST_REVISIONS', 2); 但是我想删除所有现有的修订。 问题1:直接删除wp_posts表中所有具有post_type修订版本的行是否安全?(我已经看到了与此矛盾的答案,但我希望能够在安全的情况下以这种方式进行操作)。 问题2: …如果我不只是直接从问题1中删除,这只是无关紧要的: 我在Songdogtech提供安全删除数据库查询的地方找到了这个答案,但是(1)专门针对多站点问题(这是一个站点)的答案,(2)我刚刚将该站点升级到3.6,其中包括数据库更改。(因此,我在阅读数据库查询方面不够熟练,无法确切了解那里正在发生什么以及它是否适用于WP 3.6中的单个站点

5
从管理菜单中删除类别/标签
我想删除或隐藏“管理”菜单中“帖子”下的“类别/标签”子菜单。我知道这适用于主题子菜单: remove_submenu_page( 'themes.php', 'widgets.php' ); 不幸的是,这似乎不适用于帖子: remove_submenu_page( 'edit.php', 'edit-tags.php' ); 我正在使用admin_menu操作: add_action( 'admin_menu', 'function_call' ) 我是否需要添加其他内容?

3
从媒体上传器获取缩略图的网址
我想从WordPress 3.5媒体上传器中选择图片。我可以使用以下代码获取图像URL,但它会获取完整尺寸的图像。我要获取缩略图网址,如何获取? var custom_uploader; $('.upload-image').click(function(e) { e.preventDefault(); if (custom_uploader) { custom_uploader.open(); return; } custom_uploader = wp.media.frames.file_frame = wp.media({ title: 'Choose Image', button: { text: 'Choose Image' }, multiple: false }); //When a file is selected, grab the URL custom_uploader.on('select', function() { attachment = custom_uploader.state().get('selection').first().toJSON(); var abc = attachment.url; //this is …

1
通过DESC,ASC在自定义WP_Query中排序
我需要在查询中进行多级排序。问题在于如何像在SQL中那样对一个值DESC和另一个ASC进行排序。在终端中运行以下SQL似乎可以满足我的要求: SELECT DISTINCT * FROM wp_posts INNER JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id WHERE wp_posts.post_type = 'post' AND wp_postmeta.meta_key = 'pb_issue_featured' AND wp_posts.post_status = 'publish' ORDER BY wp_postmeta.meta_value DESC, wp_posts.menu_order ASC; 该pb_issue_featured是一个布尔值。我需要的最终结果是查询以在顶部显示该字段的值为1的帖子,然后显示所有其他字段。然后指定第二层订购menu_order(我正在使用帖子类型订购插件)。 问题是我的布尔值需要从高到低(从1到0)排序,但是menu_order相反。该插件首先订购的菜单的菜单顺序为1。因此,无法使用WP_Query中的内置“ orderby”。有人有建议吗?我调查了“ posts_orderby”过滤器,但无法理解。真的不确定应该在哪里应用它或如何解决它。只是没有按照我的方式重新排序。 谢谢您的帮助!如果相关,我将发布实际的WP_Query,但我想使其尽可能短。 查询参数: $args = array( 'post_type' => 'post', 'meta_key' => 'pb_issue_featured', 'orderby' => 'meta_value', 'order' …
8 wp-query  mysql  order 

5
如今,编写<WP 3.x兼容插件的重要性是什么?
我目前正在编写一个带有自定义帖子和几个功能的简单插件,使用帖子元数据并将几个变量添加到数据库的“选项”表中。在研究期间,我在WP Codex中看到了一些有关使该插件向后兼容WP 3.x之前的版本的参考,我只是想知道现在纳入这种兼容性有多重要。 例如,我见过(由客户端安装)的WP最旧的版本是3.2或附近。我无法想象许多人的东西都早于3.x,但我可能是错的。我知道从理论上讲,您应该始终尝试使其完全兼容,但实际上,有人知道包含该功能有多么重要吗? 谢谢

1
如何为WP_Query创建灵活的抽象?
我的问题是关于php的,但是在我创建插件时涉及到wordpress。情况是我有5个问题,每个问题有6个选择,每个选择一个。现在,此人可以从每个选择中选择一个,也可以选择几个。我已经创建了if条件,现在该条件使我发疯,因为它已经太久了,并且会进一步发展,就像将进行近100种组合一样。我不希望那样,我知道有一种多维数组的方法,但是不是wordpress的插件或PHP专家。因此,如果有人可以为我排序。 $qs = $_POST['q1']; $q2 = $_POST['q2']; $q3 = $_POST['q3']; $q4 = $_POST['q4']; $q5 = $_POST['q5']; $q6 = $_POST['q6']; $args = array( 'post_type' =&gt; 'product', 'posts_per_page' =&gt; -1, 'tax_query' =&gt; array( 'relation' =&gt; 'AND', array( 'taxonomy' =&gt; 'product_cat', 'field' =&gt; 'slug', 'terms' =&gt; 'fashion-follower' ), // array( // 'taxonomy' =&gt; …

1
无法加载wp-admin / admin-ajax.php
我遇到这个奇怪的问题。昨天一切都很好。现在突然我的ajax请求都没有起作用。问题是(我在Firebug控制台中发现): 无法加载资源:...... / wp-admin / admin-ajax.php 因此,以某种方式请求admin-ajax.php文件失败。我已经交叉检查了这些东西: 网址admin-ajax.php正确无误 它不仅不起作用,而且我已经安装了buddypress,而来自buddypress的所有ajax请求也给出相同的错误 我直接在admin-ajax.php浏览器中输入网址,而不是获得0(预期输出),谷歌浏览器说“没有收到数据”。 服务器端有一些配置吗?如果是,那我对托管支持人员怎么说? 顺便说一句,如果有关系,该站点托管在wpengine上。 任何帮助都非常感谢 更新: 浏览器开发工具截图:
8 ajax 

3
将默认的WordPress标记元框添加到用户个人资料
我已经设置了用户个人资料,以允许按照本教程进行自定义分类法。 理想情况下,我想使用“张贴”屏幕中的默认“标记”元框,以便用户可以轻松添加新术语并查找常用术语。我当前正在使用一个复选框列表,但这可能会花费很长时间,因为我们将使用许多分类法。我能以某种方式使用post_tags_meta_box()吗?我已经调查了,add_meta_box()但是没用'user'。

1
如何从3.5.2中的分层自定义类型中删除段符
我知道不建议这样做,并且关于此论点的讨论很多。不幸的是,经过一周的尝试和测试,我还没有从我的自定义类型中删除该标签。情况如下: 我需要的网址结构 发布/ blog / my-blog-post [确定!] 页/ parent-service / service [确定!] 投资组合/投资组合/我的第一手工作 [确定!] 静态/ parent-static-page / static-page [&lt;&lt;&lt; ---这是问题所在] 我的配置 WordPress的3.5.2 自定义类型“静态”:分层;没有任何“重写”规则。 自定义类型“投资组合”:不分层;'重写'=&gt;数组('with_front'=&gt; false) 固定链接结构:/ blog /%postname%/ 作为首页,我将静态页面设置为“博客” 问题 发表博客/ my-blog-post [确定!] 页面/ websites / dynamic-sites [确定!] 投资组合/投资组合/我的第一手工作 [确定!] 静态/ who-i-am / terms [&lt;&lt;&lt; ---这是问题所在] 我尝试过的 没有 最初,“ static”帖子“ …

4
将图像从网页下载到默认的上载文件夹
我正在编写一个自定义主题/插件,在该主题/插件中,我需要以编程方式从某些网页将图像下载到上载文件夹,然后将其作为帖子的一部分插入。 因此,我能够以编程方式找到图像URL,然后需要将其保存到wp-content下的上载文件夹中,但是该文件夹中具有用于保存图像的特定WordPress文件夹结构。 现在我的问题是,是否可以使用WordPress API或函数或方法从网络下载图像并将其保存到上载文件夹?如果是这样,那是什么。 否则,我该怎么做保存这些图像? 到目前为止,我正在这样做 $filetype = wp_check_filetype(basename($image_file_name), null ); $upload_dir = wp_upload_dir(); $attachment = array( 'guid' =&gt; $upload_dir['url'] . '/' . basename( $image_file_name ), 'post_mime_type' =&gt; $filetype['type'], 'post_title' =&gt; preg_replace('/\.[^.]+$/', '', basename($image_file_name)), 'post_content' =&gt; '', 'post_status' =&gt; 'inherit' ); $attachment_id = wp_insert_attachment( $attachment, $image_file_name, $post_id ); $attachment_data = …

1
自定义字段中的下划线
尝试使用meta_query()执行WP_Query时,遇到了一些麻烦,因为由插件创建的自定义字段_的名称开头。 尽管我注意到它是以这种方式存储在数据库中的,但我不知道为什么要在其中存储它,并以为我必须在没有下划线的情况下引用它(出于记录,这是错误的)。 为什么某些自定义字段以下划线开头,而另一些则不是?下划线是做什么用的?在某些情况下它们是强制性的吗?

1
插件文件是否必须遵循特定的约定才能被WordPress“挑选”?
我使用通常的惯例开发了一个插件,即在plugin文件夹之后(即prefix-someplugin文件夹和prefix-someplugin.php文件)命名主插件文件。但是,我看到了一些使用以下结构的插件: prefix-someplugin - plugin-loader.php // This file just loads src/prefix-someplugin.php - /src - prefix-someplugin.php 显然,如果他们使用了这种结构,则意味着它可以工作。问题是我不确定它如何工作,因此是我的问题。WP如何知道要加载哪个文件作为主插件文件?我本来以为它会查找以文件夹命名的文件,只是添加.php为扩展名,但看来我错了。 WPjust是否扫描wp-content/plugins文件夹,并加载在其中找到的所有文件,还是遵循不同的逻辑? 预先感谢您的回答。

2
排序:使用orderby meta_value_num然后按标题排序的自定义查询
我尝试运行自定义帖子类型查询以匹配以下条件: 首先按年份降序对电影进行排序, 然后按名称标题(在“年内”进行排序)。 所需的输出: 电影标题A,2006 电影标题Z,2006 ... 电影标题A,1996 电影标题Z,1996 我使用以下代码: $wp_query = new WP_Query(); $wp_query-&gt;query( array( 'post_type' =&gt; 'movies', 'distribution' =&gt; 'companyA', 'meta_key' =&gt; 'year', 'orderby' =&gt; 'meta_value_num title', 'order' =&gt; 'DESC', 'posts_per_page' =&gt; -1, 'post_status' =&gt; 'publish', )); 我尝试了几件事,但我只能得到这个“反”结果: 电影A,1996 电影Z,1996 ... 电影A,2006 电影Z,2006 如果我更改DESC,ASC,则仅更改标题排序。但我需要将其应用于年份而不是标题。 使用两个ord​​erby值是正确的方法吗?还是我必须使用meta_query或自定义SQL? 提前谢谢! 这是从中得到的SQL查询 $GLOBALS['wp_query']-&gt;request …

2
使用wp_nav_menu的Custom Walker出现错误“试图获取非对象的属性”
我正在尝试向wp_nav_menu函数添加一些与ARIA相关的内容。为此,我使用了一个自定义的walker类: class Walker_Nav_Menu_With_Aria extends Walker_Nav_Menu { function start_lvl( &amp;$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "\n$indent&lt;ul class=\"sub-menu\" role=\"group\"&gt;\n"; } function end_lvl( &amp;$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "$indent&lt;/ul&gt;\n"; } function start_el( &amp;$output, $item, …
8 menus  errors  walker 

1
多用户站点和图像标题
在多用户站点上,当作者从媒体库中选择图像时,他们可以选择其他作者上载的图像。 问题是他们可以编辑标题,并且可以为正在制作的帖子以及具有相同图像和标题的任何以前的帖子更改标题,这没有任何意义。 有没有办法阻止作者从其他作者上传的用户图像中解决图像标题问题?

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.