LLMS_REST_Sections_Controller::prepare_links( LLMS_Section $section, WP_REST_Request $request )
Prepare links for the request.
Parameters Parameters
- $section
-
(LLMS_Section) (Required) LLMS Section.
- $request
-
(WP_REST_Request) (Required) Request object.
Return Return
(array) Links for the given object.
Source Source
File: libraries/lifterlms-rest/includes/server/class-llms-rest-sections-controller.php
* @param LLMS_Section $section LLMS Section.
* @param WP_REST_Request $request Request object.
* @return array Links for the given object.
*/
protected function prepare_links( $section, $request ) {
$links = parent::prepare_links( $section, $request );
$parent_course_id = $section->get( 'parent_course' );
// If the section has no course parent return earlier.
if ( ! $parent_course_id ) {
return $links;
}
$parent_course = llms_get_post( $parent_course_id );
if ( ! is_a( $parent_course, 'LLMS_Course' ) ) {
return $links;
}
$section_id = $section->get( 'id' );
$section_links = array();
// Parent (course).
$section_links['parent'] = array(
'type' => 'course',
'href' => rest_url( sprintf( '/%s/%s/%d', 'llms/v1', 'courses', $parent_course_id ) ),
);
// Siblings.
$section_links['siblings'] = array(
'href' => add_query_arg(
'parent',
$parent_course_id,
$links['collection']['href']
),
);
// Next.
$next_section = $section->get_next();
if ( $next_section ) {
$section_links['next'] = array(
'href' => rest_url( sprintf( '/%s/%s/%d', $this->namespace, $this->rest_base, $next_section->get( 'id' ) ) ),
);
}
// Previous.
$previous_section = $section->get_previous();
if ( $previous_section ) {
$section_links['previous'] = array(
'href' => rest_url( sprintf( '/%s/%s/%d', $this->namespace, $this->rest_base, $previous_section->get( 'id' ) ) ),
);
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 1.0.0-beta.7 | Fix the way we get the section's parent course object. |
| 1.0.0-beta.23 | Replaced call to deprecated LLMS_Section::get_parent_course() with LLMS_Section::get( 'parent_course' ). |
| 1.0.0-beta.14 | Added $request parameter. |
| 1.0.0-beta.1 | Introduced. |