GVKun编程网logo

Wordpress 如何获得 ACF 与 WP_Query 的关系(wordpress affiliate)

3

本篇文章给大家谈谈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)

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

如何解决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

如何解决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 的 wordpress 站点上有一个搜索表单。它需要 ACF 字段,然后将它们映射到分配了值的复选框,然后我想要获取并查询 WP_USER 数据库并检索与查询匹配的用户。因此,例如,用户个人资料将如下所示:

用户 1 介质:油漆、木材、珠宝 地点:巴黎

用户 2 介质:木材、珠宝 地点:伦敦

我遇到的问题是让 WP_USER_QUERY 做一些事情:

  1. 仅在 ACF 字段中查找匹配项。现在,我的查询会查看整个配置文件,包括 ACF 字段,但我只想要与 ACF 字段匹配的结果。
  2. 能够通过一系列选项进行搜索(即在 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() 方法问题

如何解决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() 方法问题等更多相关知识的信息可以在本站进行查询。

本文标签: