当前位置: 首页 > 知识库问答 >
问题:

使用wordpress中的自定义字段值获取自定义帖子类型数据

郤飞英
2023-03-14

我可以使用自定义字段值获取数据吗?我的post\u类型品牌名,字段名是通用名。那么,如何使用通用名称获取所有数据呢?

代码如下:

$title = get_the_title(); 
$the_query = new WP_Query( array(
          'posts_per_page'=>9,
          'post_type'=>'brand-name',
          'order'   => 'ASC',
          'meta_query' => array(
           array(
                'key' => 'generic-name',// this key is advance custom field: type post_object
                'value' => $title,
                'type'  => 'char' // type not working
           ), 
        ), 
        'paged' => get_query_var('paged') ? get_query_var('paged') : 1) 
      );`

此代码不起作用。

共有2个答案

巫马望
2023-03-14

我想这可能对你有帮助。请看看这个。

我可以使用自定义字段值获取数据吗?--是的,您可以使用自定义字段值获取数据。

首先,我们可以使用下面的代码获得自定义字段值。

 <?php $custom_field_value= get_post_meta( get_the_ID(), 'generic-name', true ); ?>

此$custom_field_值返回“generic name”字段的值。

通过使用该值,我们可以形成WP_查询。

$the_query = new WP_Query( array(
      'posts_per_page'=>9,
      'post_type'=>'brand-name',
      'order'   => 'ASC',
      'meta_query' => array(
       array(
            'key' => 'generic-name',
            'value' => $custom_field_value
       ), 
    ), 
    'paged' => get_query_var('paged') ? get_query_var('paged') : 1) 
  );

谢谢。

罗昕
2023-03-14

您的AFC字段是一个post对象,这意味着元值要么是单个post id,要么是一个序列化的post id数组。

如果您的自定义字段设置为仅允许单个选择,则它将是单个id,并且可以按如下方式进行查询:

$post_id = get_the_ID(); 
$the_query = new WP_Query( array(
      'posts_per_page'=>9,
      'post_type'=>'brand-name',
      'order'   => 'ASC',
      'meta_query' => array(
       array(
            'key' => 'generic-name',// this key is advance custom field: type post_object
            'value' => $post_id,
       ), 
    ), 
    'paged' => get_query_var('paged') ? get_query_var('paged') : 1) 
  );`

如果您的自定义字段允许多个选择,那么它将是一个序列化的php id数组。由于mysql不知道如何读取php序列化的数据,你可以做的最好的是使用一个喜欢查询:

$post_id = get_the_ID(); 
$the_query = new WP_Query( array(
      'posts_per_page'=>9,
      'post_type'=>'brand-name',
      'order'   => 'ASC',
      'meta_query' => array(
       array(
            'key' => 'generic-name',// this key is advance custom field: type post_object
            'value' => sprintf("\"%s\"", $post_id),
            'compare' => 'LIKE'
       ), 
    ), 
    'paged' => get_query_var('paged') ? get_query_var('paged') : 1) 
  );`
 类似资料:
  • 我已经在WordPress的编辑帖子部分创建了一个自定义字段,并且能够通过以下帖子保存该值:Wordpress-将自定义字段添加到帖子屏幕。 我可以检索特定类别的帖子,但无法检索自定义字段的值。 如上图所示,在左上角高亮显示的位置有一个自定义的post字段。另一个突出显示的字段是显示帖子属于“公文包”类别。 下面是我用来检索“Portfolio”类别帖子的代码 我可以得到文章标题和内容的值,但不能

  • 我试图创建另一个类使用从ACF PRO的文本字段的值。 我有一个名为“投资组合”的自定义帖子类型,它有4个类别,ACF字段设置被添加到“分类等于类别”。 当我编辑一个类别时,我填写我想要得到的名称,然后显示如下: 如何从类别中获取ACF字段值? 其他信息:我的页面模板page-portfolio.php,我使用的是ACF中继器。 这是我的代码: 这是该类别ACF字段设置的屏幕截图,希望对您有所帮助

  • 本文向大家介绍WordPress 3.0中的自定义帖子类型,包括了WordPress 3.0中的自定义帖子类型的使用技巧和注意事项,需要的朋友参考一下 本文与WordPress 3.0相关。此处发布的许多代码在以前的版本中将不起作用,并且某些信息可能会在较新的版本中更改。 WordPress已经在系统中内置了五种不同的内容类型。 帖子 这是标准的内容类型,通常是博客安装中使用最多的内容。帖子往往会

  • 本文向大家介绍WordPress 注册自定义帖子类型,包括了WordPress 注册自定义帖子类型的使用技巧和注意事项,需要的朋友参考一下 示例 假设您有一个图书馆网站,并且想要一个名为Books的自定义帖子类型。可以注册为 如此简单,您现在就注册了一个自定义帖子类型。 该代码段可以放在主题functions.php文件中,也可以放在插件结构中。

  • 我使用ACF,有一个名为“关于”的页面模板,我的“关于我们”页面使用该模板。我还有一个主页模板,它使用我的“主页字段组”中的字段。我的“关于我们”页面显示“关于字段组”中的ACF字段以及我的“主页字段组”中的一些字段。 我从我的主页组通过引用以下php代码的ACF字段得到字段: 来自主页上的主页字段组,段落来自我的关于我们页面介绍字段,来自关于字段组。 我想做一些类似的事情,但从自定义帖子类型(不

  • 我试图为自定义帖子类型创建一个页面,但我无法真正实现。以下是我正在尝试的全部内容- 自定义帖子类型注册的functions.php片段 我使用名为单Tutorial.php的模板为这个自定义帖子类型模板。此外,在我的帖子显示中,我使用the_permalink()链接到帖子。 现在考虑一个标题为Test3的帖子现在在我的仪表板上,我看到它的PyMalink AS。 当我回显我得到的_permali