WordPress: Können Sie Seitenvorlagen programmgesteuert erstellen?

Lesezeit: 1 Minute

Benutzer-Avatar
Adam Griffith

Ich baue derzeit ein React/Redux-Theme für WordPress mit der WordPress-API. Ich muss Seitenvorlagen zu meinem Design hinzufügen. Ich kann dies tun, indem ich fast leere Dateien erstelle wie:

<?php
/* Template Name: My Template */
?>

Aber ich möchte diese ‘Seitenvorlagen’ programmgesteuert erstellen.

Die von mir benötigte Funktionalität besteht darin, eine „Seitenvorlage“ im WordPress-CMS auswählen und diese auf der API herunterfahren zu können. Dies funktioniert wie erwartet, wenn die ‘Seitenvorlagen’ wie oben erstellt werden.

Ist das möglich?

Dies kann mit der erreicht werden theme_page_templates Filter.

CONST CUSTOM_PAGE_TEMPLATES = array(
  array('slug' => 'home', 'label' => 'Home'),
  array('slug' => 'content-page', 'label' => 'Content Page'),
  array('slug' => 'ordering', 'label' => 'Ordering'),
  array('slug' => 'reviews', 'label' => 'Reviews')
); 

/**
 * Add file-less page templates to the page template dropdown 
 */
add_filter('theme_page_templates', function($page_templates, $wp_theme, $post) {
  foreach(CUSTOM_PAGE_TEMPLATES as $template) {
    // Append if it doesn't already exists
    if (!isset($page_templates[$template['slug']])) {
      $page_templates[$template['slug']] = $template['label'];
    }
  }
  return $page_templates;
}, PHP_INT_MAX, 3);

1228630cookie-checkWordPress: Können Sie Seitenvorlagen programmgesteuert erstellen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy