本篇文章给大家谈谈Wordpress如何获得ACF与WP_Query的关系,以及wordpressaffiliate的知识点,同时本文还将给你拓展ACF-分类法|通过自定义数字帖子类型在adminWP
本篇文章给大家谈谈Wordpress 如何获得 ACF 与 WP_Query 的关系,以及wordpress affiliate的知识点,同时本文还将给你拓展ACF - 分类法 |通过自定义数字帖子类型在 admin WP 上查找 - 导入 Xml | WordPress、ACF Muti Select Taxonomy with Twig 和 Wordpress、ACF 自定义字段的 WordPress 用户查询?、ACF“acf/save_post”钩子中的 WooCommerce WC_Product set_category_ids() 方法问题等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:- Wordpress 如何获得 ACF 与 WP_Query 的关系(wordpress affiliate)
- ACF - 分类法 |通过自定义数字帖子类型在 admin WP 上查找 - 导入 Xml | WordPress
- ACF Muti Select Taxonomy with Twig 和 Wordpress
- ACF 自定义字段的 WordPress 用户查询?
- ACF“acf/save_post”钩子中的 WooCommerce WC_Product set_category_ids() 方法问题
Wordpress 如何获得 ACF 与 WP_Query 的关系(wordpress affiliate)
如何解决Wordpress 如何获得 ACF 与 WP_Query 的关系
在我的 wordpress
应用程序中,我有一个名为“departments”的自定义字段,其中有一个名为“department_customer”的关系字段 - 它应该返回部门分配给的客户。我试图这样做:
$departments = new WP_Query([
''post_type'' => ''department'',''posts_per_page'' => -1,''Meta_query'' => [
[
''key'' => ''department_customer'',''value'' => (int) $post->ID,''type'' => ''NUMERIC'',''compare'' => ''=''
]
],]);
然后循环:
foreach($departments->posts as $department){
echo $department; // just for testing if something returns
}
但这没有任何回报......我做错了什么?
解决方法
也许这个文档可以帮助你:
https://www.advancedcustomfields.com/resources/querying-relationship-fields/
也许你可以试试:
''meta_query'' => array(
array(
''key'' => ''department_customer'',''value'' => ''"'' . get_the_ID() . ''"'',''compare'' => ''LIKE''
)
)
ACF - 分类法 |通过自定义数字帖子类型在 admin WP 上查找 - 导入 Xml | WordPress
如何解决ACF - 分类法 |通过自定义数字帖子类型在 admin WP 上查找 - 导入 Xml | WordPress
我正在学习,不幸的是,在办公桌上度过了一个星期和几个晚上之后,我请求您提供宝贵的帮助。
我正在尝试通过 XML 文件将帖子导入 wordpress,有一个带有编号的类别字段。 我使用上述数字在相关分类法上创建了一个自定义字段。
这是允许召回,但我不能 创建数字和类别之间的关系,以便 当我执行自动导入并在自定义字段上插入数字时的 xml 设置正确的类别
下面是一个我想搜索自定义字段的测试,希望以这种方式导入 XML。
不幸的是,此文本仅显示带有编号的类别,但我无法按编号搜索它们
function my_acf_fields_taxonomy_nmb( $args,$field,$post_id ) {
// Get the search text
$new_search = $args[''s''];
// Remove it so ACF won''t search the posts based on title
unset($args[''s'']);
// Search based on custom field
$args[''Meta_key''] = ''rel_number'';
$args[''Meta_value''] = $new_search;
$args[''Meta_compare''] = ''LIKE'';
// return
return $args;
}
// filter for a specific field based on it''s name
add_filter(''acf/fields/taxonomy/query/name=taxonomy'',''my_acf_fields_taxonomy_nmb'',10,3);
感谢您的帮助,祝您一切顺利
ACF Muti Select Taxonomy with Twig 和 Wordpress
如何解决ACF Muti Select Taxonomy with Twig 和 Wordpress?
我的网站设置相当复杂。基本上,我需要在自定义帖子类型(公司)的 .twig 文件中的导航输出上调用多选分类法。目前,它作为单一选择分类法工作。设置如下;我有一个覆盖的 single-company.PHP 页面,它这样调用分类法:
if (!empty(get_field(''headquarters'',$post_id))) {
$headquarters = get_term(get_field(''headquarters'',$post_id))->name;
} else {
$headquarters = '''';
}
if (!empty(get_field(''company_region'',$post_id))) {
if (!empty($headquarters)) {
$company_region = '',''.get_term(get_field(''company_region'',$post_id))->name;
} else {
$company_region = get_term(get_field(''company_region'',$post_id))->name;
}
然后输出如下:
$subnav_array = array(
array(
"label" => get_field(''company_hq_label_company_info_page'',''option''),"title" => $headquarters.$company_region,),
为了提供上下文,前端输出如下所示:
公司总部
西班牙、欧洲
这是传递给 PHP 的 .twig 文件中的样子:
{% if nav.title %}
<li>
{% if nav.label %}
<p>{{ nav.label }}</p>
{% if nav.tooltip_summary %}
<span>
<svg width="18" height="18" xmlns="http://www.w3.org/2000/svg"</svg>
<div>
<div></div>
<div>{{ nav.tooltip_summary|raw }}</div>
</div>
</span>
{% endif %}
{% endif %}
我需要做的是为此提供多个选项(分类法、多选),因此输出可能如下所示:
公司总部
西班牙、欧洲
法国、欧洲
美国、北美
如何将调用 get_term(get_field(''headquarters'',$post_id))->name;
从单选分类法更改为多选分类法?
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
ACF 自定义字段的 WordPress 用户查询?
如何解决ACF 自定义字段的 WordPress 用户查询?
我之前问过一个问题,有人很乐意帮助我并指出正确的方向,但现在我又被卡住了,希望有人能提供帮助! :)
所以,我在连接到 ACF 的 wordpress 站点上有一个搜索表单。它需要 ACF 字段,然后将它们映射到分配了值的复选框,然后我想要获取并查询 WP_USER 数据库并检索与查询匹配的用户。因此,例如,用户个人资料将如下所示:
用户 1 介质:油漆、木材、珠宝 地点:巴黎
用户 2 介质:木材、珠宝 地点:伦敦
我遇到的问题是让 WP_USER_QUERY 做一些事情:
- 仅在 ACF 字段中查找匹配项。现在,我的查询会查看整个配置文件,包括 ACF 字段,但我只想要与 ACF 字段匹配的结果。
- 能够通过一系列选项进行搜索(即在 Medium 中通过 Wood 和 Paint 搜索并返回 User 1 和 User 2)
我得到了奇怪的结果。目前,我的查询设置如下:
$user_query = new WP_USER_QUERY($args = array(
''role'' => ''artist'',''orderby'' => ''Meta_value'',''order'' => ''ASC'',''Meta_query'' => array(
''relation'' => ''AND'',array(
''key'' => ''artist_medium'',''value'' => array($medium),''compare'' => ''LIKE'',),array(
''key'' => ''studio_region_location'',''value'' => array($location),)
)
));
现在 $medium 和 $location 的 print_r 将如下所示:
Wood,Paint
Paris,London
但是 WP_USER_QUERY 将再次返回整个用户列表,而不是实际过滤它。
出于好奇,我尝试更改逻辑以在没有像这样的变量的情况下使用它:
$user_query = new WP_USER_QUERY($args = array(
''role'' => ''artist'',''value'' => array(''Jewelry'',''Mixed Media''),)
)
));
但同样,我只是再次获得每个用户的列表。如果我将“比较”更改为“喜欢”以外的任何内容,则不会得到任何结果。 但是如果我将查询更改为如下所示:
$user_query = new WP_USER_QUERY($args = array(
''role'' => ''artist'',''Meta_query'' => array(
array(
''key'' => ''artist_medium'',''value'' => ''Wood'',)
)
));
我至少可以让它正常工作......所以我完全迷失了。 :(。另一个非常友好的用户说要构建一个我不反对的直接 sql 类型的查询,只是更愿意使用 WP_USER_QUERY 方式。
非常感谢!
ACF“acf/save_post”钩子中的 WooCommerce WC_Product set_category_ids() 方法问题
如何解决ACF“acf/save_post”钩子中的 WooCommerce WC_Product set_category_ids() 方法问题
我在为我使用 PHP 创建的 Woocommerce 产品分配产品类别时遇到问题。 (环境为 wordpress 5.6.1、Woocommerce 5.0、PHP 7.4.14、ACF Pro 5.9.5、Oxygen 3.6.1)
产品的所有其他属性在创建时都会保存,我可以看到产品对象在保存之前使用类别 ID 进行了更新。
但是,保存时 - 没有产品类别分配给产品。相反 - 该产品甚至没有获得“未分类”类别。它没有!
这就是我创建产品的方式。
$product = new WC_Product_Simple();
$product->set_status("publish");
$product->set_name($title);
$product->set_category_ids([$product_category]);
$product->set_stock_status(''instock'');
$product->set_catalog_visibility(''visible'');
$product->set_sold_individually(false);
$product->set_regular_price(''300'');
$product->set_description(''Product description'');
$product->set_image_id($logo_id);
$product_id=$product->save();
代码从我自己的插件运行,并从此操作调用:
add_action(''acf/save_post'',''my_create_product_from_form_submit'',20);
这个想法是使用 ACF 表单的自定义帖子类型来填充产品的数据。发布自定义帖子类型帖子并使用 ACF 保存数据后,我的代码将触发并根据输入到表单中的数据创建产品。
一切正常 - 自定义帖子已创建,产品也已创建。所有属性都保存到产品中。唯一的问题是产品永远不会被分配到产品类别。
我在任何日志中都没有错误。就像系统完全忽略了这一行:
$product->set_category_ids([$product_category]);
这是产品对象的转储,在 product->save() 命令运行后。请注意,在第 59 行,category_ids 在那里。
它,就像一切都设置为工作一样 - 但类别 ID 不会写入数据库。
非常感谢有关如何解决此问题的任何建议。
''object_type'' => ''product'',''post_type'' => ''product'',''cache_group'' => ''products'',''data'' =>
array (
''name'' => ''Name'',''slug'' => '''',''date_created'' =>
WC_DateTime::__set_state(array(
''utc_offset'' => 0,''date'' => ''2021-02-16 23:58:03.000000'',''timezone_type'' => 3,''timezone'' => ''Europe/Stockholm'',)),''date_modified'' => NULL,''status'' => ''publish'',''featured'' => false,''catalog_visibility'' => ''visible'',''description'' => ''Product description'',''short_description'' => '''',''sku'' => '''',''price'' => ''300'',''regular_price'' => ''300'',''sale_price'' => '''',''date_on_sale_from'' => NULL,''date_on_sale_to'' => NULL,''total_sales'' => ''0'',''tax_status'' => ''taxable'',''tax_class'' => '''',''manage_stock'' => false,''stock_quantity'' => NULL,''stock_status'' => ''instock'',''backorders'' => ''no'',''low_stock_amount'' => '''',''sold_individually'' => false,''weight'' => '''',''length'' => '''',''width'' => '''',''height'' => '''',''upsell_ids'' =>
array (
),''cross_sell_ids'' =>
array (
),''parent_id'' => 0,''reviews_allowed'' => true,''purchase_note'' => '''',''attributes'' =>
array (
),''default_attributes'' =>
array (
),''menu_order'' => 0,''post_password'' => '''',''virtual'' => false,''downloadable'' => false,''category_ids'' =>
array (
0 => 33,),''tag_ids'' =>
array (
),''shipping_class_id'' => 0,''downloads'' =>
array (
),''image_id'' => false,''gallery_image_ids'' =>
array (
),''download_limit'' => -1,''download_expiry'' => -1,''rating_counts'' =>
array (
),''average_rating'' => 0,''review_count'' => 0,''supports'' =>
array (
0 => ''ajax_add_to_cart'',''id'' => 956,''changes'' =>
array (
),''object_read'' => true,''extra_data'' =>
array (
),''default_data'' => (ignoring the rest)
解决方法
强制性:您在产品上设置的产品类别,需要是现有产品类别术语 ID(并且不适用于 WordPress 类别条款 ID)。
我已经测试了你的代码,如果变量 $product_category
是一个整数,它就可以工作, 所以尝试更换:
$product->set_category_ids([$product_category]);
与:
$product->set_category_ids( array_map(''intval'',[$product_category]) );
这应该有效。
文档: array_map()
和 intval()
函数。
今天关于Wordpress 如何获得 ACF 与 WP_Query 的关系和wordpress affiliate的介绍到此结束,谢谢您的阅读,有关ACF - 分类法 |通过自定义数字帖子类型在 admin WP 上查找 - 导入 Xml | WordPress、ACF Muti Select Taxonomy with Twig 和 Wordpress、ACF 自定义字段的 WordPress 用户查询?、ACF“acf/save_post”钩子中的 WooCommerce WC_Product set_category_ids() 方法问题等更多相关知识的信息可以在本站进行查询。
本文标签: