rn WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
*/
public function get_item( $request ) {
$slug = $request->get_param( 'slug' );
$collection = WP_Font_Library::get_instance()->get_font_collection( $slug );
if ( ! $collection ) {
return new WP_Error( 'rest_font_collection_not_found', __( 'Font collection not found.' ), array( 'status' => 404 ) );
}
return $this->prepare_item_for_response( $collection, $request );
}
/**
* Prepare a single collection output for response.
*
* @since 6.5.0
*
* @param WP_Font_Collection $item Font collection object.
* @param WP_REST_Request $request Request object.
* @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
*/
public function prepare_item_for_response( $item, $request ) {
$fields = $this->get_fields_for_response( $request );
$data = array();
if ( rest_is_field_included( 'slug', $fields ) ) {
$data['slug'] = $item->slug;
}
// If any data fields are requested, get the collection data.
$data_fields = array( 'name', 'description', 'font_families', 'categories' );
if ( ! empty( array_intersect( $fields, $data_fields ) ) ) {
$collection_data = $item->get_data();
if ( is_wp_error( $collection_data ) ) {
$collection_data->add_data( array( 'status' => 500 ) );
return $collection_data;
}
/**
* Don't prepare the response body for HEAD requests.
* Can't exit at the beginning of the method due to the potential need to return a WP_Error object.
*/
if ( $request->is_method( 'HEAD' ) ) {
/** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-font-collections-controller.php */
return apply_filters( 'rest_prepare_font_collection', new WP_REST_Response( array() ), $item, $request );
}
foreach ( $data_fields as $field ) {
if ( rest_is_field_included( $field, $fields ) ) {
$data[ $field ] = $collection_data[ $field ];
}
}
}
/**
* Don't prepare the response body for HEAD requests.
* Can't exit at the beginning of the method due to the potential need to return a WP_Error object.
*/
if ( $request->is_method( 'HEAD' ) ) {
/** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-font-collections-controller.php */
return apply_filters( 'rest_prepare_font_collection', new WP_REST_Response( array() ), $item, $request );
}
$response = rest_ensure_response( $data );
if ( rest_is_field_included( '_links', $fields ) ) {
$links = $this->prepare_links( $item );
$response->add_links( $links );
}
$context = ! empty( $request['context'] ) ? $request['context'] : 'view';
$response->data = $this->add_additional_fields_to_object( $response->data, $request );
$response->data = $this->filter_response_by_context( $response->data, $context );
/**
* Filters the font collection data for a REST API response.
*
* @since 6.5.0
*
* @param WP_REST_Response $response The response object.
* @param WP_Font_Collection $item The font collection object.
* @param WP_REST_Request $request Request used to generate the response.
*/
return apply_filters( 'rest_prepare_font_collection', $response, $item, $request );
}
/**
* Retrieves the font collection's schema, conforming to JSON Schema.
*
* @since 6.5.0
*
* @return array Item schema data.
*/
public function get_item_schema() {
if ( $this->schema ) {
return $this->add_additional_fields_schema( $this->schema );
}
$schema = array(
'$schema' => 'http://json-schema.org/draft-04/schema#',
'title' => 'font-collection',
'type' => 'object',
'properties' => array(
'slug' => array(
'description' => __( 'Unique identifier for the font collection.' ),
'type' => 'string',
'context' => array( 'view', 'edit', 'embed' ),
'readonly' => true,
),
'name' => array(
'description' => __( 'The name for the font collection.' ),
'type' => 'string',
'context' => array( 'view', 'edit', 'embed' ),
),
'description' => array(
'description' => __( 'The description for the font collection.' ),
'type' => 'string',
'context' => array( 'view', 'edit', 'embed' ),
),
'font_families' => array(
'description' => __( 'The font families for the font collection.' ),
'type' => 'array',
'context' => array( 'view', 'edit', 'embed' ),
),
'categories' => array(
'description' => __( 'The categories for the font collection.' ),
'type' => 'array',
'context' => array( 'view', 'edit', 'embed' ),
),
),
);
$this->schema = $schema;
return $this->add_additional_fields_schema( $this->schema );
}
/**
* Prepares links for the request.
*
* @since 6.5.0
*
* @param WP_Font_Collection $collection Font collection data
* @return array Links for the given font collection.
*/
protected function prepare_links( $collection ) {
return array(
'self' => array(
'href' => rest_url( sprintf( '%s/%s/%s', $this->namespace, $this->rest_base, $collection->slug ) ),
),
'collection' => array(
'href' => rest_url( sprintf( '%s/%s', $this->namespace, $this->rest_base ) ),
),
);
}
/**
* Retrieves the search params for the font collections.
*
* @since 6.5.0
*
* @return array Collection parameters.
*/
public function get_collection_params() {
$query_params = parent::get_collection_params();
$query_params['context'] = $this->get_context_param( array( 'default' => 'view' ) );
unset( $query_params['search'] );
/**
* Filters REST API collection parameters for the font collections controller.
*
* @since 6.5.0
*
* @param array $query_params JSON Schema-formatted collection parameters.
*/
return apply_filters( 'rest_font_collections_collection_params', $query_params );
}
/**
* Checks whether the user has permissions to use the Fonts Collections.
*
* @since 6.5.0
*
* @return true|WP_Error True if the request has write access for the item, WP_Error object otherwise.
*/
public function get_items_permissions_check( $request ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
if ( current_user_can( 'edit_theme_options' ) ) {
return true;
}
return new WP_Error(
'rest_cannot_read',
__( 'Sorry, you are not allowed to access font collections.' ),
array(
'status' => rest_authorization_required_code(),
)
);
}
}

Grundsätzlich kann alles verantwortlich sein, was die oberen Atemwege einschränkt oder die Muskulatur erschlaffen lässt. Dazu gehören etwa diverse Krankheiten wie Schnupfen oder Allergien. Auch bei einem zu kleinen Unterkiefer oder einer verformten Nasenscheidewand kann das Schnarchen vermehrt auftreten. Im Alter nimmt die Intensität zu, da die Muskulatur im Verlauf des Lebens erschlafft. Vor allem Frauen sind im höheren Alter davon betroffen.
Es gibt einige Faktoren, die die Entstehung begünstigen können. Durch die Einnahme von Schlaftabletten oder Beruhigungsmitteln werden die Muskeln im Rachenraum entspannt. Wobei der Alkoholkonsum oder starkes Übergewicht schränkt die Atemwege durch Fetteinlagerungen in der Halsgegend weiter ein. Durch Tabakrauch schwellen die Schleimhäute an, was die Luftwege ebenfalls einengt.
In vielen Fällen lässt sich starkes Schnarchen noch durch die Veränderung der Lebensgewohnheiten behandeln. Aber in stärkeren Fällen und bei der sogenannten Schlaf-Apnoe sollte ärztliche Hilfe in Anspruch genommen werden.
Ist die Nase für die Entstehung verantwortlich, können Nasenklammern gegen die Symptome helfen. Die Klammern werden in der Nacht getragen. Sie weiten die Nasenlöcher und erleichtern die Luftzufuhr durch die Nase.
Spezielle Kissen gegen Schnarchen verändern die Schlafposition. So soll die Geräuschentwicklung effektiv verhindert werden. Solche Kissen verhindern ein Überstrecken des Kopfes und halten den Unterkiefer in Position, sodass die Zunge die Atemwege nicht blockiert.
Schlaf-Westen sollen verhindern, dass der Nutzer im Schlaf eine Rückenlage einnimmt, da diese Schlafposition das Schnarchen begünstigt. Allerdings sind derartige Westen nicht für jedermann, da der Tragekomfort nicht gegeben und häufiges Aufwachen die Folge ist.
Durch Erwärmung passen sich die Zahnschienen dem Gebiss an und sollen den Unterkiefer in Position halten. Allerdings berichten manche Nutzer von Zahn- und Kieferschmerzen. Weswegen Zahnschienen nur bedingt gegen Schnarchen helfen können.
Eine gesunde Ernährung kann helfen Übergewicht abzubauen und Symptome zu lindern. Auch auf Alkohol sollte verzichtet werden, um die geschwächte Muskulatur im Mund- und Rachenraum nicht zusätzlich zu schwächen.
Vor allem der Wechsel der Schlafposition hat sich gegen Schnarchen wunderbar bewährt. Vielen Betroffenen hilft es schon, auf der Seite zu schlafen. Auch die richtige Kombination aus Lattenrost und Matratze kann sich positiv auf die Schlafqualität auswirken.
The post Gegen Schnarchen – was hilft wirklich? appeared first on Sanaclip.ch.
]]>