Pressbooks\Taxonomy::getBackMatterType PHP Method

getBackMatterType() static public method

Return the first (and only) back-matter-type for a specific post
static public getBackMatterType ( $id ) : string
$id
return string
    static function getBackMatterType($id)
    {
        $terms = get_the_terms($id, 'back-matter-type');
        if ($terms && !is_wp_error($terms)) {
            foreach ($terms as $term) {
                return $term->slug;
                break;
            }
        }
        return 'miscellaneous';
    }

Usage Example

Exemplo n.º 1
0
 /**
  * @param array $book_contents
  * @param array $metadata
  */
 protected function echoBackMatter($book_contents, $metadata)
 {
     $back_matter_printf = '<div class="back-matter %s" id="%s">';
     $back_matter_printf .= '<div class="back-matter-title-wrap"><h3 class="back-matter-number">%s</h3><h1 class="back-matter-title">%s</h1></div>';
     $back_matter_printf .= '<div class="ugc back-matter-ugc">%s</div>%s%s';
     $back_matter_printf .= '</div>';
     $i = $s = 1;
     foreach ($book_contents['back-matter'] as $back_matter) {
         if (!$back_matter['export']) {
             continue;
         }
         $back_matter_id = $back_matter['ID'];
         $subclass = \Pressbooks\Taxonomy::getBackMatterType($back_matter_id);
         $slug = $back_matter['post_name'];
         $title = get_post_meta($back_matter_id, 'pb_show_title', true) ? $back_matter['post_title'] : '<span class="display-none">' . $back_matter['post_title'] . '</span>';
         // Preserve auto-indexing in Prince using hidden span
         $content = $back_matter['post_content'];
         $append_back_matter_content = apply_filters('pb_append_back_matter_content', '', $back_matter_id);
         $short_title = trim(get_post_meta($back_matter_id, 'pb_short_title', true));
         $subtitle = trim(get_post_meta($back_matter_id, 'pb_subtitle', true));
         $author = trim(get_post_meta($back_matter_id, 'pb_section_author', true));
         if (\Pressbooks\Modules\Export\Export::isParsingSubsections() == true) {
             $sections = \Pressbooks\Book::getSubsections($back_matter_id);
             if ($sections) {
                 $content = \Pressbooks\Book::tagSubsections($content, $back_matter_id);
             }
         }
         if ($author) {
             $content = '<h2 class="chapter-author">' . Sanitize\decode($author) . '</h2>' . $content;
         }
         if ($subtitle) {
             $content = '<h2 class="chapter-subtitle">' . Sanitize\decode($subtitle) . '</h2>' . $content;
         }
         if ($short_title) {
             $content = '<h6 class="short-title">' . Sanitize\decode($short_title) . '</h6>' . $content;
         }
         printf($back_matter_printf, $subclass, $slug, $i, Sanitize\decode($title), $content, $append_back_matter_content, $this->doEndnotes($back_matter_id));
         echo "\n";
         ++$i;
     }
 }
All Usage Examples Of Pressbooks\Taxonomy::getBackMatterType