gpt4 book ai didi

wordpress - 使用 Wordpress REST API 创建带有自定义 url/meta 标签的页面

转载 作者:行者123 更新时间:2023-12-05 00:47:39 34 4
gpt4 key购买 nike

我正在尝试在我的域上创建一个自定义页面,该页面的 url 为“http://example.com/test/slug” ',但是 slug 似乎不支持斜杠(slug '/test/slug' 变成了 '/testslug')。是否可以使用 rest api 在自定义 url 上创建页面?
此外,我填充了“元”字典,但是创建的页面在标题中不包含元“描述”标签。如何正确创建自定义元标记?

import requests

url = 'http://example.com/wp-json/wp/v2/pages'
data = {'content': '<h2>test content</h2>',
'meta': {'description': 'this is a test meta field'},
'slug': 'test/slug',
'status': 'publish',
'title': 'test title'}

resp = requests.post(url, json=data, auth=('user','pass'), headers={'Content-Type':'application/json'})

最佳答案

the slug does not seem to support slashes (the slug '/test/slug' turns into '/testslug').



是的,因为无论您是使用 REST API 还是管理 UI 来创建页面,slug 都仅限于字母数字字符,加上破折号 ( - ) 和下划线 ( _ )。见 https://developer.wordpress.org/rest-api/reference/pages/#schema-slug .

您可以通过添加 remove_filter( 'sanitize_title', 'sanitize_title_with_dashes', 10, 3 ); 来取消限制。到主题的 functions.php文件(或自定义插件);但是,默认情况下,访问页面 (URL) 会引发 404(未找到)错误。有很多方法可以解决这个问题,但简而言之,您不应该移除过滤器。

Is it possible using the rest api to create a page on a custom url?



不,不是,默认情况下不是。

但是,如果您想要 http://example.com/test/slug服务/显示页面/帖子/等。无论是否通过 REST API 创建,您都可以使用自定义 URL 重写规则,例如通过 add_rewrite_rule() .

the page created does not contain a meta 'description' tag in the header. How can I correctly create custom meta tags?



您需要注册元 key ,在您的情况下是 description .


  • Working with registered meta in the REST API
  • Read and write a post meta field in post responses

  • 您可以使用 register_meta() 注册它wp-includes/meta.php 中的函数。

    您的 description 的示例元:
    <?php
    // The object type. For custom post types, this is 'post';
    // for custom comment types, this is 'comment'. For user meta,
    // this is 'user'.
    $object_type = 'post'; // 'post' even for Pages
    $args1 = array( // Validate and sanitize the meta value.
    // Note: currently (4.7) one of 'string', 'boolean', 'integer',
    // 'number' must be used as 'type'. The default is 'string'.
    'type' => 'string',
    // Shown in the schema for the meta key.
    'description' => 'A meta key associated with a string meta value.',
    // Return a single value of the type.
    'single' => true,
    // Show in the WP REST API response. Default: false.
    'show_in_rest' => true,
    );
    register_meta( $object_type, 'description', $args1 );

    快速测试元 description已成功注册并且可从 REST API 获得,请执行 GET请求到 http://example.com/wp-json/wp/v2/pages/<id>哪里 <id>是页面 ID。

    关于wordpress - 使用 Wordpress REST API 创建带有自定义 url/meta 标签的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51469058/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com