我使用以下插件从WordPress REST API获取JSON数据:
高级自定义字段PRO WP REST API ACF to REST API
我创建了一个名为“自定义导航”的自定义帖子类型。我有一个自定义字段组(通过ACF ),称为“自定义导航项目”,它只在文章类型是自定义导航时应用。该组中的字段称为“图像”和“标题”,我无法获得它们的值。
这是我为ACF to REST API插件设置菜单和添加过滤器的地方。这些按预期工作。
function custom_setup() {
// This theme uses wp_nav_menu() in two locations.
register_nav_menus( array(
'topnav' => 'Top Menu',
'footer-left-nav' => 'Footer Top Menu 1',
'footer-center-left-nav' => 'Footer Top Menu 2',
'footer-center-right-nav' => 'Footer Top Menu 3',
'footer-right-nav' => 'Footer Top Menu 4',
'footer-bottom-left-nav' => 'Footer Bottom Menu 1',
'footer-bottom-right-nav' => 'Footer Bottom Menu 2',
) );
// Enable the option show in rest
add_filter( 'acf/rest_api/field_settings/show_in_rest', '__return_true' );
// Enable the option edit in rest
add_filter( 'acf/rest_api/field_settings/edit_in_rest', '__return_true' );
}
add_action( 'after_setup_theme', ‘custom_setup' );
这个函数将我的自定义post类型菜单项设置为WP REST API。就这样做来说,这是按计划进行的。然而,这些post类型菜单项的ACF字段不发送
function wp_api_v2_custom_get_menu_data ($data) {
if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $data['id'] ] ) ) {
$menu = wp_get_nav_menu_object( $locations[$data['id']] );
$menuItems = wp_get_nav_menu_items($menu->term_id);
return $menuItems;
} else {
return array();
}
}
add_action( 'rest_api_init', function () {
register_rest_route( 'menus/v1', '/menus/(?P<id>[a-zA-Z(-]+)', array(
'methods' => 'GET',
'callback' => 'wp_api_v2_custom_get_menu_data',
) );
} );
这是我的函数,用于设置我的自定义帖子类型
function custom_nav_post_type() {
register_post_type(‘custom_nav',
array (
'name' => ‘Custom Navigation',
'singular_name' => 'CustomNav',
'can_export' => TRUE,
'exclude_from_search' => FALSE,
'has_archive' => TRUE,
'hierarchical' => TRUE,
'label' => 'Custom Navigation',
'menu_position' => 5,
'public' => TRUE,
'publicly_queryable' => TRUE,
'query_var' => ‘customnav',
'rewrite' => array ( 'slug' => 'shop' ),
'show_ui' => TRUE,
'show_in_menu' => TRUE,
'show_in_nav_menus' => TRUE,
'show_in_rest' => TRUE,
'rest_base' => 'shop',
'rest_controller_class' => 'WP_REST_Posts_Controller',
'supports' => array ('title')
)
);
}
add_action( 'init', 'custom_nav_post_type' );
?>
所有这些的输出
[
{
"id":184,
"acf":[
]
},
{
"id":183,
"acf":[
]
},
{
"id":182,
"acf":[
]
},
{
"id":181,
"acf":[
]
},
{
"id":180,
"acf":[
]
},
{
"id":176,
"acf":[
]
}
]
任何关于我哪里出错的建议将不胜感激。
下面是我如何解决它的。我在“custom_setup”函数中添加了自定义帖子类型的过滤器。
add_filter('rest_prepare_custom_nav', function($response) {
$response->data['acf'] = get_fields($response->data['id']);
return $response;
});
所以过滤器是一个通配符过滤器,应用于
apply_filter("rest_prepare_YOUR-CUSTOM-POST-TYPE-NAME-HERE", ...
小行星开场 小行星开场是 krpano 1.19 pr3+ 默认皮肤带有的功能,默认关闭。 想开启小行星也很简单,可以找到tour.xml,然后搜索littleplanetintro将其值设置为true即可。 <skin_settings ... littleplanetintro="true" ... /> 更详细的设置可以在skin/vtourskin.xml文件中修
问题内容: 当您想使用Javascript更改HTML时,如何知道何时使用以下任一方法? 问题答案: 设置通常用于输入/表单元素。通常用于div,span,td和类似元素。
问题内容: 当我跑步时 在Mac上(Mac OS X 10.6.5,Python 2.6.1),我得到以下结果。 它们分为5类。 /Library/Python/2.6/site-packages/*.egg /Library/Python/2.6/site-packages 框架/Python.framework/版本/2.6/lib/python2.6 框架/Python.framework/
问题内容: 如何使用jQuery设置和取消设置Cookie,例如创建一个名为的Cookie 并将其值设置为? 问题答案: 2019年4月更新 Cookie的读取/操作不需要jQuery,因此请不要使用下面的原始答案。 转到https://github.com/js-cookie/js-cookie,然后在其中使用不依赖jQuery的库。 基本示例: 有关详细信息,请参见github上的文档。 参见
使用指南 - 统计设置 - 其它设置 为您详细介绍百度统计所支持的各种设置功能及使用方法,比如设置排除规则、设置跨域、添加指定广告追踪、设置转化目标等。 其它设置 如何关闭数据采集 数据导出服务及其开通方法 统计图标如何设置 什么是统计图标
使用指南 - 统计设置 - 转化设置 为您详细介绍百度统计所支持的各种设置功能及使用方法,比如设置排除规则、设置跨域、添加指定广告追踪、设置转化目标等。 转化设置 什么是转化及统计支持的转化类型 什么是页面转化 什么是转化路径 转化路径如何设置 什么是事件转化 如何查看事件ID 如何设置事件转化 Trackevent方式设置事件转化 如何查看转化数据 页数转化 时长转化 什么是转化收益 什么是长效