Making WordPress.org

Changeset 12268


Ignore:
Timestamp:
11/23/2022 02:00:20 AM (4 years ago)
Author:
adamwood
Message:

Learn: Sync with git WordPress/learn@b09aca7

Location:
sites/trunk/wordpress.org/public_html/wp-content
Files:
1 added
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-learn/inc/taxonomy.php

    r12259 r12268  
    1010add_action( 'init', __NAMESPACE__ . '\register' );
    1111add_action( 'audience_add_form_fields', __NAMESPACE__ . '\register_custom_fields' );
    12 add_action( 'wporg_lesson_category_add_form_fields', __NAMESPACE__ . '\register_custom_fields' );
    1312add_action( 'topic_add_form_fields', __NAMESPACE__ . '\register_custom_fields' );
    1413add_action( 'audience_edit_form_fields', __NAMESPACE__ . '\tax_edit_term_fields', 10, 2 );
    15 add_action( 'wporg_lesson_category_edit_form_fields', __NAMESPACE__ . '\tax_edit_term_fields', 10, 2 );
    1614add_action( 'topic_edit_form_fields', __NAMESPACE__ . '\tax_edit_term_fields', 10, 2 );
    1715add_action( 'created_audience', __NAMESPACE__ . '\tax_save_term_fields' );
    1816add_action( 'edited_audience', __NAMESPACE__ . '\tax_save_term_fields' );
    19 add_action( 'created_wporg_lesson_category', __NAMESPACE__ . '\tax_save_term_fields' );
    20 add_action( 'edited_wporg_lesson_category', __NAMESPACE__ . '\tax_save_term_fields' );
    2117add_action( 'created_topic', __NAMESPACE__ . '\tax_save_term_fields' );
    2218add_action( 'edited_topic', __NAMESPACE__ . '\tax_save_term_fields' );
     
    2723function register() {
    2824        register_lesson_audience();
    29         register_lesson_category();
    3025        register_lesson_duration();
    3126        register_lesson_group();
     
    8378
    8479        register_taxonomy( 'audience', array( 'lesson-plan' ), $args );
    85 }
    86 
    87 /**
    88  * Register the Lesson Category taxonomy.
    89  */
    90 function register_lesson_category() {
    91         $labels = array(
    92                 'name'                       => _x( 'Lesson Categories', 'Taxonomy General Name', 'wporg-learn' ),
    93                 'singular_name'              => _x( 'Lesson Category', 'Taxonomy Singular Name', 'wporg-learn' ),
    94                 'menu_name'                  => __( 'Categories', 'wporg-learn' ),
    95                 'all_items'                  => __( 'All Lesson Categories', 'wporg-learn' ),
    96                 'new_item_name'              => __( 'New Lesson Category', 'wporg-learn' ),
    97                 'add_new_item'               => __( 'Add New Lesson Category', 'wporg-learn' ),
    98                 'edit_item'                  => __( 'Edit Lesson Category', 'wporg-learn' ),
    99                 'update_item'                => __( 'Update Lesson Category', 'wporg-learn' ),
    100                 'view_item'                  => __( 'View Lesson Category', 'wporg-learn' ),
    101                 'separate_items_with_commas' => __( 'Separate lesson categories with commas', 'wporg-learn' ),
    102                 'add_or_remove_items'        => __( 'Add or remove lesson categories', 'wporg-learn' ),
    103                 'choose_from_most_used'      => __( 'Choose from the most used', 'wporg-learn' ),
    104                 'popular_items'              => __( 'Popular lesson categories', 'wporg-learn' ),
    105                 'search_items'               => __( 'Search lesson categories', 'wporg-learn' ),
    106                 'not_found'                  => __( 'Not Found', 'wporg-learn' ),
    107                 'no_terms'                   => __( 'No lesson categories', 'wporg-learn' ),
    108                 'items_list'                 => __( 'Lesson Categories list', 'wporg-learn' ),
    109                 'items_list_navigation'      => __( 'Lesson Categories list navigation', 'wporg-learn' ),
    110         );
    111 
    112         $args = array(
    113                 'labels'            => $labels,
    114                 'hierarchical'      => true,
    115                 'public'            => true,
    116                 'rewrite'           => array(
    117                         'slug' => 'lesson-plans',
    118                 ),
    119                 'show_ui'           => true,
    120                 'show_admin_column' => true,
    121                 'show_in_nav_menus' => false,
    122                 'show_tagcloud'     => false,
    123                 'show_in_rest'      => true,
    124                 'capabilities'      => array(
    125                         'assign_terms' => 'edit_lesson_plans',
    126                 ),
    127         );
    128 
    129         register_taxonomy( 'wporg_lesson_category', array( 'lesson-plan' ), $args );
    13080}
    13181
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-learn-2020/archive-lesson-plan.php

    r12153 r12268  
    4343                <hr>
    4444                <?php
    45                 $categories = get_terms( array(
    46                         'taxonomy'   => 'wporg_lesson_category',
    47                         'hide_empty' => false,
    48                         'orderby'    => 'id',
    49                         'order'      => 'DESC',
    50                 ) );
    51                 ?>
    52                 <div class="lp-taxonomy">
    53                         <h2 class="h4 lp-taxonomy-header"><?php echo esc_html__( 'Topic', 'wporg-learn' ); ?></h2>
    54                         <div class="lp-taxonomy-description"><?php echo esc_html__( 'Browse lesson plans by their high-level topic.', 'wporg-learn' ); ?></div>
    55                         <div class="card-grid card-grid_4">
    56                                 <?php foreach ( $categories as $category ) :
    57                                         $is_sticky = get_term_meta( $category->term_id, 'sticky', true );
    58                                         if ( $is_sticky ) :
    59                                                 ?>
    60                                         <a class="card button" href="<?php echo esc_url( get_term_link( $category ) ); ?>">
    61                                                 <?php $category_icon = get_term_meta( $category->term_id, 'dashicon-class', true ) ?? 'wordpress-alt'; ?>
    62                                                 <div>
    63                                                         <span aria-hidden="true" class="dashicons dashicons-<?php echo esc_attr( $category_icon ); ?>"></span>
    64                                                 </div>
    65                                                 <?php echo esc_html( $category->name ); ?>
    66                                         </a>
    67                                                 <?php
    68                                         endif;
    69                                 endforeach; ?>
    70                         </div>
    71                 </div>
     45                $topics = wporg_learn_get_sticky_topics_with_selected_first();
     46                if ( ! empty( $topics ) ) {
     47                        ?>
     48                        <div class="lp-taxonomy">
     49                                <h2 class="h4 lp-taxonomy-header"><?php echo esc_html__( 'Topic', 'wporg-learn' ); ?></h2>
     50                                <div class="lp-taxonomy-description"><?php echo esc_html__( 'Browse lesson plans by their high-level topic.', 'wporg-learn' ); ?></div>
     51                                <div class="card-grid card-grid_4">
     52                                        <?php foreach ( $topics as $topic ) : ?>
     53                                                <a class="card button topic-<?php echo esc_attr( $topic->term_id ); ?>" href="<?php echo esc_url( get_term_link( $topic ) ); ?>">
     54                                                        <?php $topic_icon = get_term_meta( $topic->term_id, 'dashicon-class', true ) ?? 'wordpress-alt'; ?>
     55                                                        <div>
     56                                                                <span aria-hidden="true" class="dashicons dashicons-<?php echo esc_attr( $topic_icon ); ?>"></span>
     57                                                        </div>
     58                                                        <?php echo esc_html( $topic->name ); ?>
     59                                                </a>
     60                                        <?php endforeach; ?>
     61                                </div>
     62                        </div>
     63                        <?php
     64                } ?>
    7265
    7366                <?php
     
    152145                                        endforeach;
    153146
    154                                         if ( $any_duration_arr['duration'] ) :
     147                                        if ( isset( $any_duration_arr['duration'] ) ) :
    155148                                                ?>
    156149                                                <li>
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-learn-2020/functions.php

    r12067 r12268  
    341341        // Some lesson plans were created at exactly the same second, so we're adding the ID to the implicit sort order to avoid randomization.
    342342        if (
    343                 ( $query->is_post_type_archive( 'lesson-plan' ) || $query->is_tax( 'wporg_lesson_category' ) ) &&
     343                ( $query->is_post_type_archive( 'lesson-plan' ) || $query->is_tax( 'topic' ) ) &&
    344344                empty( $query->get( 'orderby' ) )
    345345        ) {
     
    12021202}
    12031203add_filter( 'mime_types', 'wporg_learn_mime_types' );
     1204
     1205/**
     1206 * Get the sticky Topic terms, with the selected topic first
     1207 *
     1208 * @param string $first The slug of the topic to return first.
     1209 * @return array
     1210 */
     1211function wporg_learn_get_sticky_topics_with_selected_first( $first = 'general' ) {
     1212        $first_topic;
     1213        $topics     = array();
     1214        $all_topics = get_terms( array(
     1215                'taxonomy'   => 'topic',
     1216                'hide_empty' => false,
     1217        ) );
     1218
     1219        foreach ( $all_topics as $topic ) {
     1220                $is_sticky = get_term_meta( $topic->term_id, 'sticky', true );
     1221
     1222                if ( $is_sticky ) {
     1223                        if ( $topic->slug === $first ) {
     1224                                $first_topic = $topic;
     1225                        } else {
     1226                                array_push( $topics, $topic );
     1227                        }
     1228                }
     1229        }
     1230
     1231        if ( isset( $first_topic ) ) {
     1232                array_unshift( $topics, $first_topic );
     1233        }
     1234
     1235        return $topics;
     1236}
Note: See TracChangeset for help on using the changeset viewer.