Sauter la navigation

[Résolu] Relationship in API REST

This support ticket is created Il y a 4 années et 3 mois. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: Asia/Hong_Kong (GMT+08:00)

Marqué : 

Ce sujet contient 11 réponses, a 2 voix.

Dernière mise à jour par avansisI-2 Il y a 4 années et 2 mois.

Assisté par: Luo Yang.

Auteur
Publications
#1831271

Hi!,

I have a custom type with you relationship, and need that this information is in API rest of custom type.

i'm using a plugin REST API CONTROLLER and works well but not add information in custom type API about relationship,

Do you know any form to do this?

Thanks!

#1831773

Hello,

Toolset relationship isn't a custom field or taxonomy, so it won't be exposed in WP REST api directly, you will need to use custom codes to exposed the related post information with custom codes, for example, you can follow WP document to add a field in the REST api result:
https://developer.wordpress.org/reference/functions/register_rest_field/

And use Toolset function toolset_get_related_post() to get the related parent post information:
https://toolset.com/documentation/customizing-sites-using-php/post-relationships-api/#toolset_get_related_post

#1831915

Thanks for you reply,

I'm lose with this theme, could you give me an example?

In my case, i have one custom type called 'comercios' and i need that in JSON 'comercios' i can get ID that two custom types related called 'productos' and 'promociones'

If i modified api-rest.php with this

* @var traer relationship promociones y productos
*
*/
$promociones = toolset_get_related_post( $comercio_id, array( 'promociones', 'comercio' ) );
$productos = toolset_get_related_post( $comercio_id, array( 'productos', 'comercio' ) );

doesnt work.

#1832713

For example, there are two post types in your website:
- Page
- test-cpt-1
You are using one-to-many relationship between "Page" and "test-cpt-1", the relationship slug is "page-test-cpt-1"

you can try to add below codes into your theme file functions.php:

add_action( 'rest_api_init', 'create_api_posts_meta_field' );

function create_api_posts_meta_field() {
    register_rest_field( 'test-cpt-1', 'parent-page', array(  //replace test-cpt-1 with your child post type slug
           'get_callback'    => 'get_parent_page_for_api',
           'schema'          => null,
        )
    );
}

function get_parent_page_for_api( $object ) {
    //get the id of the post object array
    $post_id = $object['id'];
    //return the post meta
    return toolset_get_related_post( $post_id, 'page-test-cpt-1' ); // replace page-test-cpt-1 with one-to-many relationship slug
}

Above codes will add a custom field "parent-page" into the REST API result of single test-cpt-1, the value is parent page ID.

#1834415

I create this code in functions.php but doesn't work,

function create_api_posts_meta_field() {
    register_rest_field( 'productos', 'parent-page', array(
           'get_callback'    => 'get_parent_page_for_api',
           'schema'          => null,
        )
    );
}
 
function get_parent_page_for_api( $object ) {
    //get the id of the post object array
    $post_id = $object['id'];
    //return the post meta
    return toolset_get_related_post( $post_id, 'productos' );
}
/ 20201104134710
// <em><u>lien caché</u></em>

[
  {
    "id": 4675,
    "date": "2020-10-21T11:33:39",
    "date_gmt": "2020-10-21T11:33:39",
    "guid": {
      "rendered": "<em><u>lien caché</u></em>"
    },
    "modified": "2020-10-21T11:33:40",
    "modified_gmt": "2020-10-21T11:33:40",
    "slug": "producto-2",
    "status": "publish",
    "type": "productos",
    "link": "<em><u>lien caché</u></em>",
    "title": {
      "rendered": "Producto 2"
    },
    "content": {
      "rendered": "",
      "protected": false
    },
    "template": "",
    "_wpv_contains_gutenberg_views": "",
    "_edit_lock": "1603280930:1",
    "_edit_last": "1",
    "_views_template": "4635",
    "site-sidebar-layout": "default",
    "site-content-layout": "default",
    "theme-transparent-header-meta": "default",
    "wpcf-imagen-producto": "<em><u>lien caché</u></em>",
    "wpcf-nombre-producto": "Producto prueba 2",
    "wpcf-descripcion-producto": "blablabalablablablablablablablablablablabalablablablablablablablablablablabalablablablablablablablablablablabalablablablablablablablabla blablabalablablablablablablablabla blablabalablablablablablablablabla blablabalablablablablablablablabla blablabalablablablablablablablabla",
    "wpcf-precio-producto": "250",
    "uagb_featured_image_src": [
      
    ],
    "uagb_author_info": {
      "display_name": "user",
      "author_link": "<em><u>lien caché</u></em>"
    },
    "uagb_comment_info": 0,
    "uagb_excerpt": null,
    "parent-page": 4646,
    "toolset-meta": {
      "grupo-de-campo-para-productos": {
        "imagen-producto": {
          "type": "image",
          "raw": "<em><u>lien caché</u></em>",
          "attachment_id": 1088
        },
        "nombre-producto": {
          "type": "textfield",
          "raw": "Producto prueba 2"
        },
        "descripcion-producto": {
          "type": "wysiwyg",
          "raw": "blablabalablablablablablablablablablablabalablablablablablablablablablablabalablablablablablablablablablablabalablablablablablablablabla blablabalablablablablablablablabla blablabalablablablablablablablabla blablabalablablablablablablablabla blablabalablablablablablablablabla"
        },
        "precio-producto": {
          "type": "numeric",
          "raw": "250"
        }
      }
    },
    "_links": {
      "self": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "collection": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "about": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "wp:attachment": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "curies": [
        {
          "name": "wp",
          "href": "<em><u>lien caché</u></em>{rel}",
          "templated": true
        }
      ]
    }
  },
  {
    "id": 4668,
    "date": "2020-10-21T10:35:12",
    "date_gmt": "2020-10-21T10:35:12",
    "guid": {
      "rendered": "<em><u>lien caché</u></em>"
    },
    "modified": "2020-10-21T11:20:17",
    "modified_gmt": "2020-10-21T11:20:17",
    "slug": "producto-prueba",
    "status": "publish",
    "type": "productos",
    "link": "<em><u>lien caché</u></em>",
    "title": {
      "rendered": "Producto Prueba"
    },
    "content": {
      "rendered": "",
      "protected": false
    },
    "template": "",
    "_wpv_contains_gutenberg_views": "",
    "_edit_lock": "1603279717:1",
    "_edit_last": "1",
    "_views_template": "4635",
    "site-sidebar-layout": "default",
    "site-content-layout": "default",
    "theme-transparent-header-meta": "default",
    "wpcf-imagen-producto": "<em><u>lien caché</u></em>",
    "wpcf-nombre-producto": "Viaje de buceo",
    "wpcf-descripcion-producto": "lorem ipsum lorem ipsum lorem ipsum",
    "wpcf-precio-producto": "450",
    "uagb_featured_image_src": [
      
    ],
    "uagb_author_info": {
      "display_name": "user",
      "author_link": "<em><u>lien caché</u></em>"
    },
    "uagb_comment_info": 0,
    "uagb_excerpt": null,
    "parent-page": 4646,
    "toolset-meta": {
      "grupo-de-campo-para-productos": {
        "imagen-producto": {
          "type": "image",
          "raw": "<em><u>lien caché</u></em>",
          "attachment_id": 1090
        },
        "nombre-producto": {
          "type": "textfield",
          "raw": "Viaje de buceo"
        },
        "descripcion-producto": {
          "type": "wysiwyg",
          "raw": "lorem ipsum lorem ipsum lorem ipsum"
        },
        "precio-producto": {
          "type": "numeric",
          "raw": "450"
        }
      }
    },
    "_links": {
      "self": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "collection": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "about": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "wp:attachment": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "curies": [
        {
          "name": "wp",
          "href": "<em><u>lien caché</u></em>{rel}",
          "templated": true
        }
      ]
    }
  },
  {
    "id": 4632,
    "date": "2020-10-19T16:40:14",
    "date_gmt": "2020-10-19T16:40:14",
    "guid": {
      "rendered": "<em><u>lien caché</u></em>"
    },
    "modified": "2020-10-21T10:34:14",
    "modified_gmt": "2020-10-21T10:34:14",
    "slug": "producto-1",
    "status": "publish",
    "type": "productos",
    "link": "<em><u>lien caché</u></em>",
    "title": {
      "rendered": "Producto 1"
    },
    "content": {
      "rendered": "",
      "protected": false
    },
    "template": "",
    "_wpv_contains_gutenberg_views": "",
    "_edit_lock": "1603279737:1",
    "_edit_last": "1",
    "_views_template": "4635",
    "site-sidebar-layout": "default",
    "site-content-layout": "default",
    "theme-transparent-header-meta": "default",
    "wpcf-imagen-producto": "<em><u>lien caché</u></em>",
    "wpcf-nombre-producto": "Producto 1",
    "wpcf-descripcion-producto": "lorem ipsum lorem ipsum lorem ipsum",
    "wpcf-precio-producto": "11",
    "uagb_featured_image_src": [
      
    ],
    "uagb_author_info": {
      "display_name": "user",
      "author_link": "<em><u>lien caché</u></em>"
    },
    "uagb_comment_info": 0,
    "uagb_excerpt": null,
    "parent-page": 4595,
    "toolset-meta": {
      "grupo-de-campo-para-productos": {
        "imagen-producto": {
          "type": "image",
          "raw": "<em><u>lien caché</u></em>",
          "attachment_id": 250
        },
        "nombre-producto": {
          "type": "textfield",
          "raw": "Producto 1"
        },
        "descripcion-producto": {
          "type": "wysiwyg",
          "raw": "lorem ipsum lorem ipsum lorem ipsum"
        },
        "precio-producto": {
          "type": "numeric",
          "raw": "11"
        }
      }
    },
    "_links": {
      "self": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "collection": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "about": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "wp:attachment": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "curies": [
        {
          "name": "wp",
          "href": "<em><u>lien caché</u></em>{rel}",
          "templated": true
        }
      ]
    }
  }
]
/ 20201104134229
// <em><u>lien caché</u></em>

[
  {
    "id": 4646,
    "date": "2020-10-19T19:07:40",
    "date_gmt": "2020-10-19T19:07:40",
    "guid": {
      "rendered": "<em><u>lien caché</u></em>"
    },
    "modified": "2020-11-01T16:57:49",
    "modified_gmt": "2020-11-01T16:57:49",
    "slug": "prueba-4",
    "status": "publish",
    "type": "comercios",
    "link": "<em><u>lien caché</u></em>",
    "title": {
      "rendered": "Comercio prueba 4"
    },
    "content": {
      "rendered": "",
      "protected": false
    },
    "template": "",
    "zonas": [
      26
    ],
    "catcomercio": [
      70
    ],
    "negocios": [
      88
    ],
    "restaurante": [
      97
    ],
    "servicios": [
      105,
      112
    ],
    "_wp_page_template": "default",
    "_wpv_contains_gutenberg_views": "",
    "_views_template": "4599",
    "_edit_lock": "1604249788:1",
    "_edit_last": "1",
    "_wpcf-direccion-comercio-sort-order": [
      7508
    ],
    "_wpcf-telefono-de-contacto-sort-order": [
      7509
    ],
    "_wpcf-galeria-de-imagenes-sort-order": [
      7511,
      7512,
      7513,
      7514,
      7515
    ],
    "site-sidebar-layout": "no-sidebar",
    "site-content-layout": "default",
    "theme-transparent-header-meta": "default",
    "site-post-title": "disabled",
    "wpcf-nombre_del_comercio": "Nombre de Comercio 1",
    "wpcf-descripcion_del_negocio": "Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsumLorem Ipsum, Lorem ipsum, Lorem  Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum",
    "wpcf-direccion_comercio": "Calle Caramanta, 4, Madrid, España",
    "wpcf-telefono_de_contacto": "663454792",
    "wpcf-logo": "<em><u>lien caché</u></em>",
    "wpcf-galeria_imagenes": "<em><u>lien caché</u></em>",
    "wpcf-sitio_web": "<em><u>lien caché</u></em>",
    "wpcf-horario_simple": "L-V: 10 a 19 Sab: 10 a 14",
    "wpcf-descripcion_corta": "Descripción corta para la ficha de producto del buscador para aparecer en el listado de comercios",
    "ast-below-header-display": "",
    "footer-adv-display": "",
    "adv-header-id-meta": "",
    "stick-header-meta": "",
    "header-above-stick-meta": "",
    "header-main-stick-meta": "",
    "header-below-stick-meta": "",
    "_oembed_d204a63d9b3aca71a2333e0b08c3bc86": "{{unknown}}",
    "_oembed_ffbdd56aca52851d5a9e0d735274da77": "{{unknown}}",
    "_wpcf-direccion_comercio-sort-order": [
      8182
    ],
    "_wpcf-telefono_de_contacto-sort-order": [
      8183
    ],
    "_wpcf-galeria_imagenes-sort-order": [
      8185,
      8186
    ],
    "ast-breadcrumbs-content": "disabled",
    "wpcf_tipo_de_negocio": "1",
    "uagb_featured_image_src": [
      
    ],
    "uagb_author_info": {
      "display_name": "user",
      "author_link": "<em><u>lien caché</u></em>"
    },
    "uagb_comment_info": 0,
    "uagb_excerpt": null,
    "toolset-meta": {
      "grupo-de-campo-para-comercios": [
        
      ],
      "comercios": {
        "tipo-de-negocio": {
          "type": "select",
          "raw": "1"
        },
        "nombre_del_comercio": {
          "type": "textfield",
          "raw": "Nombre de Comercio 1"
        },
        "descripcion_del_negocio": {
          "type": "wysiwyg",
          "raw": "Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsumLorem Ipsum, Lorem ipsum, Lorem  Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum"
        },
        "direccion_comercio": {
          "type": "google_address",
          "raw": [
            "Calle Caramanta, 4, Madrid, España"
          ]
        },
        "telefono_de_contacto": {
          "type": "phone",
          "raw": [
            "663454792"
          ]
        },
        "logo": {
          "type": "image",
          "raw": "<em><u>lien caché</u></em>",
          "attachment_id": 421
        },
        "galeria_imagenes": {
          "type": "image",
          "raw": [
            "<em><u>lien caché</u></em>",
            "<em><u>lien caché</u></em>"
          ],
          "repeatable": [
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1117
            },
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 4936
            }
          ]
        },
        "sitio_web": {
          "type": "url",
          "raw": "<em><u>lien caché</u></em>"
        },
        "horario_simple": {
          "type": "textfield",
          "raw": "L-V: 10 a 19 Sab: 10 a 14"
        },
        "descripcion_corta": {
          "type": "textfield",
          "raw": "Descripción corta para la ficha de producto del buscador para aparecer en el listado de comercios"
        }
      }
    },
    "_links": {
      "self": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "collection": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "about": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "version-history": [
        {
          "count": 3,
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "predecessor-version": [
        {
          "id": 4910,
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "wp:attachment": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "wp:term": [
        {
          "taxonomy": "zonas",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "catcomercio",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "negocios",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "restaurante",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "servicios",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "curies": [
        {
          "name": "wp",
          "href": "<em><u>lien caché</u></em>{rel}",
          "templated": true
        }
      ]
    }
  },
  {
    "id": 4645,
    "date": "2020-10-19T19:07:37",
    "date_gmt": "2020-10-19T19:07:37",
    "guid": {
      "rendered": "<em><u>lien caché</u></em>"
    },
    "modified": "2020-10-19T19:14:37",
    "modified_gmt": "2020-10-19T19:14:37",
    "slug": "prueba-3",
    "status": "publish",
    "type": "comercios",
    "link": "<em><u>lien caché</u></em>",
    "title": {
      "rendered": "Prueba 3"
    },
    "content": {
      "rendered": "",
      "protected": false
    },
    "template": "",
    "zonas": [
      
    ],
    "catcomercio": [
      
    ],
    "negocios": [
      
    ],
    "restaurante": [
      
    ],
    "servicios": [
      
    ],
    "_wp_page_template": "default",
    "_wpv_contains_gutenberg_views": "",
    "_views_template": "4599",
    "_edit_lock": "1603134877:1",
    "_edit_last": "1",
    "_wpcf-direccion-comercio-sort-order": [
      7317
    ],
    "_wpcf-telefono-de-contacto-sort-order": [
      7318
    ],
    "_wpcf-galeria-de-imagenes-sort-order": [
      7320,
      7321,
      7322,
      7323,
      7324
    ],
    "site-sidebar-layout": "no-sidebar",
    "site-content-layout": "default",
    "theme-transparent-header-meta": "default",
    "site-post-title": "disabled",
    "wpcf-nombre_del_comercio": "Nombre de Comercio 1",
    "wpcf-descripcion_del_negocio": "Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsumLorem Ipsum, Lorem ipsum, Lorem  Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum",
    "wpcf-direccion_comercio": "Calle Caramanta, 4, Madrid, España",
    "wpcf-telefono_de_contacto": "663454792",
    "wpcf-logo": "<em><u>lien caché</u></em>",
    "wpcf-galeria_imagenes": "<em><u>lien caché</u></em>",
    "wpcf-sitio_web": "<em><u>lien caché</u></em>",
    "wpcf-horario_simple": "L-V: 10 a 19 Sab: 10 a 14",
    "wpcf-descripcion_corta": "Descripción corta para la ficha de producto del buscador",
    "ast-below-header-display": "",
    "footer-adv-display": "",
    "adv-header-id-meta": "",
    "stick-header-meta": "",
    "header-above-stick-meta": "",
    "header-main-stick-meta": "",
    "header-below-stick-meta": "",
    "_oembed_d204a63d9b3aca71a2333e0b08c3bc86": "{{unknown}}",
    "_oembed_ffbdd56aca52851d5a9e0d735274da77": "{{unknown}}",
    "_wpcf-direccion_comercio-sort-order": "",
    "_wpcf-telefono_de_contacto-sort-order": "",
    "_wpcf-galeria_imagenes-sort-order": "",
    "ast-breadcrumbs-content": "",
    "wpcf_tipo_de_negocio": "",
    "uagb_featured_image_src": [
      
    ],
    "uagb_author_info": {
      "display_name": "user",
      "author_link": "<em><u>lien caché</u></em>"
    },
    "uagb_comment_info": 0,
    "uagb_excerpt": null,
    "toolset-meta": {
      "grupo-de-campo-para-comercios": [
        
      ],
      "comercios": {
        "tipo-de-negocio": {
          "type": "select",
          "raw": ""
        },
        "nombre_del_comercio": {
          "type": "textfield",
          "raw": "Nombre de Comercio 1"
        },
        "descripcion_del_negocio": {
          "type": "wysiwyg",
          "raw": "Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsumLorem Ipsum, Lorem ipsum, Lorem  Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum"
        },
        "direccion_comercio": {
          "type": "google_address",
          "raw": [
            "Calle Caramanta, 4, Madrid, España"
          ]
        },
        "telefono_de_contacto": {
          "type": "phone",
          "raw": [
            "663454792"
          ]
        },
        "logo": {
          "type": "image",
          "raw": "<em><u>lien caché</u></em>",
          "attachment_id": 421
        },
        "galeria_imagenes": {
          "type": "image",
          "raw": [
            "<em><u>lien caché</u></em>",
            "<em><u>lien caché</u></em>",
            "<em><u>lien caché</u></em>",
            "<em><u>lien caché</u></em>",
            "<em><u>lien caché</u></em>"
          ],
          "repeatable": [
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1307
            },
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1117
            },
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1112
            },
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1106
            },
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1103
            }
          ]
        },
        "sitio_web": {
          "type": "url",
          "raw": "<em><u>lien caché</u></em>"
        },
        "horario_simple": {
          "type": "textfield",
          "raw": "L-V: 10 a 19 Sab: 10 a 14"
        },
        "descripcion_corta": {
          "type": "textfield",
          "raw": "Descripción corta para la ficha de producto del buscador"
        }
      }
    },
    "_links": {
      "self": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "collection": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "about": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "version-history": [
        {
          "count": 1,
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "predecessor-version": [
        {
          "id": 4648,
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "wp:attachment": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "wp:term": [
        {
          "taxonomy": "zonas",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "catcomercio",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "negocios",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "restaurante",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "servicios",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "curies": [
        {
          "name": "wp",
          "href": "<em><u>lien caché</u></em>{rel}",
          "templated": true
        }
      ]
    }
  },
  {
    "id": 4644,
    "date": "2020-10-19T19:07:34",
    "date_gmt": "2020-10-19T19:07:34",
    "guid": {
      "rendered": "<em><u>lien caché</u></em>"
    },
    "modified": "2020-10-19T19:14:43",
    "modified_gmt": "2020-10-19T19:14:43",
    "slug": "prueba-2",
    "status": "publish",
    "type": "comercios",
    "link": "<em><u>lien caché</u></em>",
    "title": {
      "rendered": "Prueba 2"
    },
    "content": {
      "rendered": "",
      "protected": false
    },
    "template": "",
    "zonas": [
      
    ],
    "catcomercio": [
      
    ],
    "negocios": [
      
    ],
    "restaurante": [
      
    ],
    "servicios": [
      
    ],
    "_wp_page_template": "default",
    "_wpv_contains_gutenberg_views": "",
    "_views_template": "4599",
    "_edit_lock": "1603134883:1",
    "_edit_last": "1",
    "_wpcf-direccion-comercio-sort-order": [
      7317
    ],
    "_wpcf-telefono-de-contacto-sort-order": [
      7318
    ],
    "_wpcf-galeria-de-imagenes-sort-order": [
      7320,
      7321,
      7322,
      7323,
      7324
    ],
    "site-sidebar-layout": "no-sidebar",
    "site-content-layout": "default",
    "theme-transparent-header-meta": "default",
    "site-post-title": "disabled",
    "wpcf-nombre_del_comercio": "Nombre de Comercio 1",
    "wpcf-descripcion_del_negocio": "Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsumLorem Ipsum, Lorem ipsum, Lorem  Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum",
    "wpcf-direccion_comercio": "Calle Caramanta, 4, Madrid, España",
    "wpcf-telefono_de_contacto": "663454792",
    "wpcf-logo": "<em><u>lien caché</u></em>",
    "wpcf-galeria_imagenes": "<em><u>lien caché</u></em>",
    "wpcf-sitio_web": "<em><u>lien caché</u></em>",
    "wpcf-horario_simple": "L-V: 10 a 19 Sab: 10 a 14",
    "wpcf-descripcion_corta": "Descripción corta para la ficha de producto del buscador",
    "ast-below-header-display": "",
    "footer-adv-display": "",
    "adv-header-id-meta": "",
    "stick-header-meta": "",
    "header-above-stick-meta": "",
    "header-main-stick-meta": "",
    "header-below-stick-meta": "",
    "_oembed_d204a63d9b3aca71a2333e0b08c3bc86": "{{unknown}}",
    "_oembed_ffbdd56aca52851d5a9e0d735274da77": "{{unknown}}",
    "_wpcf-direccion_comercio-sort-order": "",
    "_wpcf-telefono_de_contacto-sort-order": "",
    "_wpcf-galeria_imagenes-sort-order": "",
    "ast-breadcrumbs-content": "",
    "wpcf_tipo_de_negocio": "",
    "uagb_featured_image_src": [
      
    ],
    "uagb_author_info": {
      "display_name": "user",
      "author_link": "<em><u>lien caché</u></em>"
    },
    "uagb_comment_info": 0,
    "uagb_excerpt": null,
    "toolset-meta": {
      "grupo-de-campo-para-comercios": [
        
      ],
      "comercios": {
        "tipo-de-negocio": {
          "type": "select",
          "raw": ""
        },
        "nombre_del_comercio": {
          "type": "textfield",
          "raw": "Nombre de Comercio 1"
        },
        "descripcion_del_negocio": {
          "type": "wysiwyg",
          "raw": "Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsumLorem Ipsum, Lorem ipsum, Lorem  Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum"
        },
        "direccion_comercio": {
          "type": "google_address",
          "raw": [
            "Calle Caramanta, 4, Madrid, España"
          ]
        },
        "telefono_de_contacto": {
          "type": "phone",
          "raw": [
            "663454792"
          ]
        },
        "logo": {
          "type": "image",
          "raw": "<em><u>lien caché</u></em>",
          "attachment_id": 421
        },
        "galeria_imagenes": {
          "type": "image",
          "raw": [
            "<em><u>lien caché</u></em>",
            "<em><u>lien caché</u></em>",
            "<em><u>lien caché</u></em>",
            "<em><u>lien caché</u></em>",
            "<em><u>lien caché</u></em>"
          ],
          "repeatable": [
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1307
            },
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1117
            },
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1112
            },
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1106
            },
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1103
            }
          ]
        },
        "sitio_web": {
          "type": "url",
          "raw": "<em><u>lien caché</u></em>"
        },
        "horario_simple": {
          "type": "textfield",
          "raw": "L-V: 10 a 19 Sab: 10 a 14"
        },
        "descripcion_corta": {
          "type": "textfield",
          "raw": "Descripción corta para la ficha de producto del buscador"
        }
      }
    },
    "_links": {
      "self": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "collection": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "about": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "version-history": [
        {
          "count": 1,
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "predecessor-version": [
        {
          "id": 4647,
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "wp:attachment": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "wp:term": [
        {
          "taxonomy": "zonas",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "catcomercio",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "negocios",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "restaurante",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "servicios",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "curies": [
        {
          "name": "wp",
          "href": "<em><u>lien caché</u></em>{rel}",
          "templated": true
        }
      ]
    }
  },
  {
    "id": 4595,
    "date": "2020-10-19T12:31:06",
    "date_gmt": "2020-10-19T12:31:06",
    "guid": {
      "rendered": "<em><u>lien caché</u></em>"
    },
    "modified": "2020-10-19T19:14:48",
    "modified_gmt": "2020-10-19T19:14:48",
    "slug": "prueba-1",
    "status": "publish",
    "type": "comercios",
    "link": "<em><u>lien caché</u></em>",
    "title": {
      "rendered": "Prueba 1"
    },
    "content": {
      "rendered": "",
      "protected": false
    },
    "template": "",
    "zonas": [
      
    ],
    "catcomercio": [
      
    ],
    "negocios": [
      
    ],
    "restaurante": [
      
    ],
    "servicios": [
      
    ],
    "_wp_page_template": "default",
    "_wpv_contains_gutenberg_views": "",
    "_views_template": "4599",
    "_edit_lock": "1603134888:1",
    "_edit_last": "1",
    "_wpcf-direccion-comercio-sort-order": [
      7317
    ],
    "_wpcf-telefono-de-contacto-sort-order": [
      7318
    ],
    "_wpcf-galeria-de-imagenes-sort-order": [
      7320,
      7321,
      7322,
      7323,
      7324
    ],
    "site-sidebar-layout": "no-sidebar",
    "site-content-layout": "default",
    "theme-transparent-header-meta": "default",
    "site-post-title": "disabled",
    "wpcf-nombre_del_comercio": "Nombre de Comercio 1",
    "wpcf-descripcion_del_negocio": "Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsumLorem Ipsum, Lorem ipsum, Lorem  Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum",
    "wpcf-direccion_comercio": "Calle Caramanta, 4, Madrid, España",
    "wpcf-telefono_de_contacto": "663454792",
    "wpcf-logo": "<em><u>lien caché</u></em>",
    "wpcf-galeria_imagenes": "<em><u>lien caché</u></em>",
    "wpcf-sitio_web": "<em><u>lien caché</u></em>",
    "wpcf-horario_simple": "L-V: 10 a 19 Sab: 10 a 14",
    "wpcf-descripcion_corta": "Descripción corta para la ficha de producto del buscador",
    "ast-below-header-display": "",
    "footer-adv-display": "",
    "adv-header-id-meta": "",
    "stick-header-meta": "",
    "header-above-stick-meta": "",
    "header-main-stick-meta": "",
    "header-below-stick-meta": "",
    "_oembed_d204a63d9b3aca71a2333e0b08c3bc86": "{{unknown}}",
    "_oembed_ffbdd56aca52851d5a9e0d735274da77": "{{unknown}}",
    "_wpcf-direccion_comercio-sort-order": "",
    "_wpcf-telefono_de_contacto-sort-order": "",
    "_wpcf-galeria_imagenes-sort-order": "",
    "ast-breadcrumbs-content": "",
    "wpcf_tipo_de_negocio": "",
    "uagb_featured_image_src": [
      
    ],
    "uagb_author_info": {
      "display_name": "user",
      "author_link": "<em><u>lien caché</u></em>"
    },
    "uagb_comment_info": 0,
    "uagb_excerpt": null,
    "toolset-meta": {
      "grupo-de-campo-para-comercios": [
        
      ],
      "comercios": {
        "tipo-de-negocio": {
          "type": "select",
          "raw": ""
        },
        "nombre_del_comercio": {
          "type": "textfield",
          "raw": "Nombre de Comercio 1"
        },
        "descripcion_del_negocio": {
          "type": "wysiwyg",
          "raw": "Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsumLorem Ipsum, Lorem ipsum, Lorem  Lorem Ipsum, Lorem ipsum, Lorem ipsum Lorem Ipsum, Lorem ipsum, Lorem ipsum"
        },
        "direccion_comercio": {
          "type": "google_address",
          "raw": [
            "Calle Caramanta, 4, Madrid, España"
          ]
        },
        "telefono_de_contacto": {
          "type": "phone",
          "raw": [
            "663454792"
          ]
        },
        "logo": {
          "type": "image",
          "raw": "<em><u>lien caché</u></em>",
          "attachment_id": 421
        },
        "galeria_imagenes": {
          "type": "image",
          "raw": [
            "<em><u>lien caché</u></em>",
            "<em><u>lien caché</u></em>",
            "<em><u>lien caché</u></em>",
            "<em><u>lien caché</u></em>",
            "<em><u>lien caché</u></em>"
          ],
          "repeatable": [
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1307
            },
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1117
            },
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1112
            },
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1106
            },
            {
              "raw": "<em><u>lien caché</u></em>",
              "attachment_id": 1103
            }
          ]
        },
        "sitio_web": {
          "type": "url",
          "raw": "<em><u>lien caché</u></em>"
        },
        "horario_simple": {
          "type": "textfield",
          "raw": "L-V: 10 a 19 Sab: 10 a 14"
        },
        "descripcion_corta": {
          "type": "textfield",
          "raw": "Descripción corta para la ficha de producto del buscador"
        }
      }
    },
    "_links": {
      "self": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "collection": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "about": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "version-history": [
        {
          "count": 1,
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "predecessor-version": [
        {
          "id": 4641,
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "wp:attachment": [
        {
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "wp:term": [
        {
          "taxonomy": "zonas",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "catcomercio",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "negocios",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "restaurante",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        },
        {
          "taxonomy": "servicios",
          "embeddable": true,
          "href": "<em><u>lien caché</u></em>"
        }
      ],
      "curies": [
        {
          "name": "wp",
          "href": "<em><u>lien caché</u></em>{rel}",
          "templated": true
        }
      ]
    }
  }
]
#1834981

I have checked the result you provided, there are some items, for example:
"parent-page": 4646,
...
"parent-page": 4595,

Are they expected result? if they are not, what result do you expect to see?

#1835315

My issue is resolved now. Thank you!

#1835317

Oh! great!

I cant see in code, sorry. Relation this I have other question.... Is it possible add
google address coordinates in json?

Thanks for your help.

Les nouveaux fils créés par Luo Yang et associés à celui-ci sont repris ci-dessous :

https://toolset.com/fr/forums/topic/is-it-possible-add-google-address-coordinates-in-json/

#1836015

I assume the original questions of this thread is resolved, according to our support policy, we prefer one ticket one question, for other new questions, please check the new thread here:
https://toolset.com/forums/topic/is-it-possible-add-google-address-coordinates-in-json/

#1844463

Hi! My web is now in real, and this code doesn't work.

Could you help me?

Thanks

#1844695

If I want to create other relationship, How i can add action?

If I repeat this code with other custom type 'promociones' said its not posible because have to replace...

//AÑADIR RELATIONSHIPS PRODUCTOS Y PROMOCIONES
add_action( 'rest_api_init', 'create_api_posts_meta_field' );
 
function create_api_posts_meta_field() {
    register_rest_field( 'productos','promociones', 'parent-page', array(
           'get_callback'    => 'get_parent_page_for_api',
           'schema'          => null,
        )
    );
}
 
function get_parent_page_for_api( $object ) {
    //get the id of the post object array
    $post_id = $object['id'];
    //return the post meta
    return toolset_get_related_post( $post_id, 'productos','promociones' );
}
#1846413

I think they should be done separately, don't you?

But it's wrong

//AÑADIR RELATIONSHIPS PROMOCIONES
add_action( 'rest_api_init', 'create_api_posts_meta_field');
 
function create_api_posts_meta_field() {
    register_rest_field( 'promociones', 'parent-page', array(
           'get_callback'    => 'get_parent_page_for_api',
           'schema'          => null,
        )
    );
}
 
function get_parent_page_for_api( $object ) {
    //get the id of the post object array
    $post_id = $object['id'];
    //return the post meta
    return toolset_get_related_post( $post_id, 'promociones');
}

//AÑADIR RELATIONSHIPS BONOS
add_action( 'rest_api_init', 'create_api_posts_meta_field');
 
function create_api_posts_meta_field() {
    register_rest_field( 'bonos', 'parent-page', array(
           'get_callback'    => 'get_parent_page_for_api',
           'schema'          => null,
        )
    );
}
 
function get_parent_page_for_api( $object ) {
    //get the id of the post object array
    $post_id = $object['id'];
    //return the post meta
    return toolset_get_related_post( $post_id, 'bonos');
}