WordPress

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

3
从wp_get_attachment_image删除尺寸
使用wp_get_attachment_image时,从附件图像中删除宽度和高度时出现问题。这就是我用来显示图像的东西 <?php echo $image = wp_get_attachment_image( $entry['slide_image_id'], true, 'full'); ?> 源代码看起来如何 <img width="150" height="108" src="http://website:8888/wp-content/uploads/2015/12/cupcakes-and-cosmetics-logo.png" class="attachment-1 size-1" alt="cupcakes-and-cosmetics-logo" /> 我想这样显示 <img src="http://website:8888/wp-content/uploads/2015/12/cupcakes-and-cosmetics-logo.png" class="attachment-1 size-1" alt="cupcakes-and-cosmetics-logo" /> 图像是从ID为slide_image_id的条目的可重复文件字段中提取的。我一直在四处张望,并注意到要使用wp_get_attachment_image_url,但是当我在上面的代码中使用它时,图像不会显示。我做错什么了吗? <?php echo $image = wp_get_attachment_image_url( $entry['slide_image_id'], true, 'full'); ?> 旁注:$ entry ['slide_image_id']是用来调用我的可重复文件字段的内容。

2
使用WP-Rest-API v2添加媒体
我需要您的帮助,以通过Wp-rest-api v2和Oauth2身份验证在我的wordpress博客中上传媒体图像。 我在REST API文档中没有找到发送图像数据的方式(字段名称,发送模式...?)。 require('OAuth2/Client.php'); require('OAuth2/GrantType/IGrantType.php'); require('OAuth2/GrantType/AuthorizationCode.php'); const CLIENT_ID = 'XXX'; const CLIENT_SECRET = 'XX'; const REDIRECT_URI = 'http://127.0.0.1/test_api_wp/test.php'; const AUTHORIZATION_ENDPOINT = 'http://wordpress.local/oauth/authorize'; const TOKEN_ENDPOINT = 'http://wordpress.local/oauth/token'; $client = new OAuth2\Client(CLIENT_ID, CLIENT_SECRET); if (!isset($_GET['code'])) { $auth_url = $client->getAuthenticationUrl(AUTHORIZATION_ENDPOINT, REDIRECT_URI); header('Location: ' . $auth_url); die('Redirect'); } else { $params = array('code' …
10 media  restful 

3
使用current_user_can()和相关函数的有效时间是几点?
在香草WP核心加载期间,正在设置当前用户,该用户$wp-init()在主题加载之后,init挂机之前。这与功能挂钩init或以后使用的良好做法是一致的。 但是,调用相关功能(例如current_user_can() 早于此)也是一种常见的做法。从定义上讲,这是与加载过程的早期阶段兼容的插件所必需的(我的Toolbar Theme Switcher插件就是一个示例)。 文档没有主张或反对这种做法(我可以找到)。 但是,某些插件似乎可以与用户相关的功能挂起,并init始终期望后置状态。 例如,bbPress引发以下通知: // If the current user is being setup before the "init" action has fired, // strange (and difficult to debug) role/capability issues will occur. if ( ! did_action( 'after_setup_theme' ) ) { _doing_it_wrong( __FUNCTION__, __( 'The current user is being initialized without …

2
如果使用is_admin仪表板,为什么不注册简码?
我已经注意到,某些插件(例如Contact-form-7,Nextgen-gallery,可能还有其他插件)具有一个有趣的反功能,即当其is_admin()为true 时不注册其短代码。 有问题的是,如果您想从ajax生成一些动态内容(可能包含短代码),并使用“正确的” wp方式(admin-ajax.php),则不可能使WP_ADMIN为真。请参阅admin-ajax.php的第一行: define( 'DOING_AJAX', true ); if ( ! defined( 'WP_ADMIN' ) ) { define( 'WP_ADMIN', true ); } 现在,似乎有PHP扩展允许您取消设置已定义的常量(hacky),或者可能有一种方法可以使未记录的WP_Screen系统混乱$GLOBALS['current_screen']并使is_admin()函数返回false?最有用的解决方法似乎是发布到页面或网站根目录。 is_admin()假时,插件注册其短代码是否很常见?如果是这样,除了可能是过早的优化,我找不到任何文档或原因。
10 ajax  dashboard 

2
如何触发WooCommerce订单完成电子邮件?
我希望能够在WooCommerce结帐流程的另一个阶段触发WooCommerce订单完成电子邮件。因此,我已经从后端禁用了WooCommerce订购完整的电子邮件,现在正在寻找一行代码,这些代码将在我想要的位置触发电子邮件。我做了一些研究,发现了如何删除订单完整的电子邮件,但没有找到如何手动触发它。有小费吗? 谢谢!
10 php  woocommerce 

3
生成休眠钩子引用
似乎很多插件开发人员都花时间添加过滤器/操作挂钩,以使用户可以调整其产品的功能。很棒,但是他们通常不做的是提供钩子列表以及它们接受多少个参数。 有没有人找到最好的自动方式来指向插件(或主题)目录并查看所有可用钩子的列表? 我似乎有些扫描钩子的插件,但据我所知,它们向您显示了实际上正在调用哪些插件来呈现给定页面。我得到的可以很方便。但是有时候,如果我知道我正在与特定的插件交互,我想知道它可能让我钩住动作或过滤器的每个地方。 因此,我真正要寻找的是给定插件根目录将创建一个列表的列表,其中每个项目均包括: 标签 类型(动作或过滤器) 参数数量 在源中被称为(通过do_action()或apply_filter())的位置 脚本会很棒,因为这大概可以很好地将整个事情HTML化,并在每个插件的管理UI中向我展示。但是,即使输出有用的静态文件的命令行脚本也很棒。
10 plugins  hooks 

4
Orderby meta_value仅返回具有现有meta_key的帖子
我有以下wp_query: $args = array( 'post_type' => 'news', 'orderby' => 'meta_key', 'order' => 'ASC', 'meta_key'=>'custom_author_name', 'post_per_page'=>-1 ); $query = new WP_Query($args); echo $query->found_posts; echo = 10结果,因为只有10 news个帖子带有meta_key = custom_author_name。但是有数百个news帖子没有包含具有特定meta_key的post_meta行。请注意,不涉及meta_query。没有分配meta_value,因为我仅尝试按meta_key对帖子进行排序,而不按meta_value进行过滤。 不应该按顺序选择所有帖子吗?并订购它们? 如果是这样,为什么要过滤结果?如果找不到meta_key,为什么不使用空字符串或全部匹配呢? 如果没有,为什么不呢? 如果我在每个新闻帖子中都输入meta_key(即使它是一个空字符串),那么我会得到预期的结果。但这似乎是很多表行,不需要在那里。

2
定制器JS API
好的,我一直在尝试教育自己使用定制工具的JS API动态创建新的面板部分和控件。 几天令人沮丧,我无法通过JS API获得实现此目的的确切方法。 到目前为止,这是我正在做的一些事情,但没有成功: // for Settings api.create( params.id, params.id, params.default, params.args ); // for controls var controlConstructor = api.controlConstructor[params.type]; var control = new controlConstructor(params.id, { params: params, previewer: api.previewer }); api.control.add( params.id, control ); //for Sections var section = new api.Section(params.id, { params: params }); api.section.add( params.id, section …

2
在WP_Query meta_query键中使用REGEXP
我知道我可以像这样在WP_Query中使用REGEXP: $query = new WP_Query(array( 'posts_per_page' => -1, 'post_status' => 'publish', 'meta_query' => array( array( 'key' => 'custom_fields', 'value' => 'foo[(][0-9][)]', // with regex stuff 'compare' => 'REGEXP', ), ), )); 但是我也需要键中的正则表达式。像这样: $query = new WP_Query(array( 'posts_per_page' => -1, 'post_status' => 'publish', 'meta_query' => array( array( 'key' => 'custom_fields[(][0-9][)]', // …

2
媒体库-将图像限制为自定义帖子类型
是否有一些wordpress magic / plugin可以使媒体库仅显示上载到特定自定义帖子类型的图像?我有一个称为“艺术家”的自定义帖子类型,我希望在管理员单击以上传/附加图像时,媒体库弹出窗口仅显示已上传到艺术家自定义类型的图像,而不是整个网站。 我使用ACF插件来处理自定义字段和自定义帖子类型ui。这可能吗?

2
检查是否是父页面,是否有孩子,是否有孙子
我有一个默认页面模板,希望用于两种情况。为了简化客户端,我宁愿只使用一个页面模板。 这是我要完成的工作: if parent_page OR if child-page without children { display full-width-layout } if child page with children or if grandchild page { display sidebar-menu-layout } 这可能吗? 到目前为止,这是我尝试过的: if( is_page() && $post->post_parent > 0 ) { //display sidebar-menu-layout } else { //display full-width-layout } 它在顶层页面上一直有效,并显示全角布局。但是,我该怎么做才能确保侧边栏菜单布局仅显示在有孩子的孩子页面上和仅在grandchile页面上显示?对于没有孩子的孩子页面,显示全角布局。 提前致谢。我确信它有一个简单的解决方案,对于WP来说我才刚刚起步,所以仍在尝试找出可以做什么和不能做什么。

1
使用Oauth2帐户覆盖WordPress用户
我正在尝试将WordPress设置为OAuth2客户端。我们所有的用户都存储在我们的专有CMS中,该CMS是OAuth提供商。我们的WordPress数据库中的用户很少(甚至没有),主要是管理员。理想情况下,我不想将用户数据存储在WordPress数据库中,因为我需要以某种方式维护X个WordPress网站的状态,而我在专有CMS中只有一个事实来源。 到目前为止,我的最初设计是创建一个覆盖现有WordPress用户功能的插件,并在Cookie或会话中存储OAuth访问令牌和用户uuid。但是,我需要在其他插件中可以访问此用户,因此理想情况下应覆盖默认的WordPress用户方法。 这是可以接受的方法吗?或者,我是不是试图以不适合的方式使用WordPress? 我可以找到大量用于将WordPress设置为OAuth2提供程序的插件,但作为客户端的插件很少。话虽这么说,但我发现确实有一些将WordPress设置为客户端的应用程序,但其中许多特定于Google Apps,Facebook,Twitter等。此外,这些应用程序依赖于在WordPress用户表中本地存储用户数据。我宁愿不这样做。 谢谢你的帮助!
10 plugins  users  oauth 

4
wp_redirect()-标头已发送
wp_redirect()在页面上成功提交注册表单后,我尝试使用重定向用户。 它不起作用,并显示以下错误: 警告:无法修改标头信息-已在/ Applications / MAMP / htdocs / theme / wp-发送的标头(输出始于/Applications/MAMP/htdocs/theme/wp-content/themes/test/header.php:10) 1178行上的include / pluggable.php 我知道以前已经有输出,这就是为什么它不起作用的原因,但是我不知道如何使它起作用。 注册表单由一个函数呈现,并由另一个函数在我的functions.php中提交。 if ( isset( $_POST['subscribe'] ) ) { // Submits the form and should then redirect wp_redirect("/thank-you/"); exit; } 然后,在我要显示注册表单的地方都使用了这两个函数。 恐怕这不是最好的选择。我应该创建一些操作来做到这一点,但是我不知道如何实现。我发现的大多数教程都直接在同一页面上显示结果,不需要其他重定向。也许这就是为什么他们在functions.php中使用函数的原因

3
如何更改新用户的电子邮件模板
当我添加新客户时,电子邮件将以以下格式发送给新用户: From: WordPress [wordpress@siteurl.com] Subject: [site name] Your user name and password Message: username: user Password: password siteurl.com/wp-login.php 现在,我想像这样更改这种格式: From: My Site Name [info@siteurl.com] Subject: siteurl.com customer account activated Message: Your customer account has been activated. Your Login credentials are: Username: user email Password: password Thanks, abcd 我尝试了这个答案,但是没有用。 我怎样才能做到这一点?
10 templates  email 

3
如何从wp-content / uploads中删除所需的图像大小?
在WordPress博客我的默认媒体设置为150×150,300×300,1024×1024分别为缩略图,中,大图像。现在,我正在设计一个主题,该主题需要不同大小的缩略图才能显示在主题中。对于这一点,我去媒体再次设置,并与我的消息的大小改变的设置像最高72x72,250x250的,400×400分别为缩略图,中,大图像。 但是现在要调整旧上传图像的大小,我使用了Regenerate Thumbnails WordPress插件,它可以轻松生成新的媒体设置图像大小。因此,这解决了我的主要问题。 主要问题: 现在出现的主要问题是我的托管空间即将结束。当我检查文件时,发现我有7张图像,其中1张图像仅使用4张。 first-image-name.jpg first-image-name-72x72.jpg first-image-name-150x150.jpg first-image-name-250x250.jpg first-image-name-300x300.jpg first-image-name-400x400.jpg first-image-name-1024x1024.jpg second-image-name.jpg second-image-name-72x72.jpg second-image-name-150x150.jpg second-image-name-250x250.jpg second-image-name-300x300.jpg second-image-name-400x400.jpg second-image-name-1024x1024.jpg ............................... ---------- and so on ---------- 现在我想删除150×150,300×300,1024×1024尺寸的图像。为此,很多人向我推荐DNUI(删除未使用的图像)和Clean Up Images WordPress插件,但他们没有选择那些旧的图像大小。 问:)那么,如何从wp-content/uploads文件夹中删除我想要的图像大小?

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.