如何将WP类别加载到数组中以进行自动完成?

时间:2019-05-06 作者:Dennis

我目前正在创建一个新网站,我一直在使用wordpress标准搜索表单的自动完成功能。有人知道如何加载wordpress类别以用于此脚本吗?它混合了javascript和php(从wp加载我的类别)

enter image description here

enter image description here

enter image description here

1 个回复
最合适的回答,由SO网友:KFish 整理而成

不清楚您在JS中使用的是什么自动完成函数,如果它来自库或自定义,但我假设它需要一个数组locations 是传递的,而不是一个字符串,这是您正在输入的内容。

您应该使用的函数是get_terms(), 不wp_list_categories(), 前者用于返回分类法中的术语数组,后者用于返回HTML标记字符串。您可以使用fields 参数筛选结果中要包含的字段。

示例: $locations = get_terms( array( \'taxonomy\' => \'category\', \'hide_empty\' => false, \'fields\' => \'names\' ) );

其次,如上所述locations 变量是用JS中的字符串而不是数组填充的。如果autocomplete函数自动将其解析为JSON,这可能很好,但在这种情况下,您的字符串无论如何都不是有效的JSON,因为您正在输出<ul> 括号内的标记字符串。尝试以下操作:

var locations = ["<?php echo implode(\'", "\', $locations); ?>"];

相关推荐

在第三方API响应后发送Gravit Forms通知

我有一个重力表单,在提交时将数据发送给第三方API。它与以下代码连接并通过API保存数据。然而,我现在正试图弄清楚,只有当API响应返回为失败或状态代码201以外的任何内容时,才如何发送管理员通知电子邮件。add_action( \'gform_after_submission_1\', \'post_to_third_party\', 10, 2 ); function post_to_third_party( $entry, $form ) { $post_url =