我已经建立了自定义WP REST API路由,我需要帮助将结果限制为每页5个,然后具有分页链接以显示下一页等。
我尝试在参数数组中添加'per_page => 5'
,但url结果没有任何变化。我似乎也根本不知道如何包括分页。抱歉,这是我第一次尝试。
function staffSearchEndpoint(){
register_rest_route('staffbio/v1', 'staffsearch', array(
'methods' => WP_REST_SERVER::READABLE,
'callback' => 'staffSearchJSONResults',
));
}
function staffSearchJSONResults($data) {
$staffBio = new WP_Query(array(
'post_type' => 'staff_bios',
's' => $data['term'],
'orderby' => 'title',
'order' => 'asc'
));
如果可以的话,请告诉我要在$staffBio array
中添加的内容或将不胜感激的其他内容。另外,如果您的答案需要Javascript,请仅使用纯JS,而无需JQuery。
答案 0 :(得分:0)
对于每页的帖子,您似乎在WP Query中使用了错误的参数。您需要在Private Sub btnLogin_Click()
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Employee", dbOpenSnapshot, dbReadOnly)
rs.FindFirst "UserName='" & Me.TextUserName & "'"
If rs.NoMatch = True Then
Me.LabelWrongUser.Visible = True
Me.TextUserName.SetFocus
Exit Sub
End If
Me.LabelWrongUser.Visible = False
If rs!Password <> Encrypt(Me.TextPassword) Then
Me.LabelWrongPass.Visible = True
Me.TextPassword.SetFocus
Exit Sub
End If
Me.LabelWrongPass.Visible = False
TempVars("EmployeeType") = rs!EmployeeTypeId.Value
If DLookup("HasAccess", "EmployeeAccess", "EmployeeTypeId=" & TempVars("EmployeeType")) Then
TempVars("FormName") = rs!FormName.Value And DoCmd.OpenForm (
参数中使用'posts_per_page' => 5,
而不是'per_page => 5'
。
所以您的WP_Query
函数将是:
staffSearchJSONResults
对于分页,我建议使用function staffSearchJSONResults($data) {
$staffBio = new WP_Query(array(
'post_type' => 'staff_bios',
'posts_per_page' => 5,
's' => $data['term'],
'orderby' => 'title',
'order' => 'asc'
));
参数。
假设您在offset
中拥有帖子总数,并且staff_bios
的值和默认posts_per_page
的值将为0
因此分页的基本逻辑表示将是:
offset
您可以在此处检查所有WP_Query参数:https://www.billerickson.net/code/wp_query-arguments/