Changeset 2028748
- Timestamp:
- 02/11/2019 06:19:42 PM (7 years ago)
- Location:
- sermon-manager-for-wordpress/trunk
- Files:
-
- 3 edited
-
composer.json (modified) (1 diff)
-
includes/class-sm-shortcodes.php (modified) (4 diffs)
-
readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
sermon-manager-for-wordpress/trunk/composer.json
r2006081 r2028748 6 6 "wp-coding-standards/wpcs": "*", 7 7 "phpunit/phpunit": "^7" 8 }, 9 "require": { 10 "ext-calendar": "*" 8 11 } 9 12 } -
sermon-manager-for-wordpress/trunk/includes/class-sm-shortcodes.php
r2028461 r2028748 761 761 * @type int $atts ['year'] 4 digit year (e.g. 2011). 762 762 * @type int $atts ['month'] Month number (from 1 to 12). 763 * @type int $atts ['week'] Week of the year (from 0 to 53).764 * @type int $atts ['day'] Day of the month (from 1 to 31).765 763 * @type string $atts ['after'] Date to retrieve posts after. Accepts strtotime()-compatible string. 766 764 * @type string $atts ['before'] Date to retrieve posts before. Accepts strtotime()-compatible string. … … 798 796 'year' => '', 799 797 'month' => '', 800 'week' => '',801 'day' => '',802 798 'after' => '', 803 799 'before' => '', … … 851 847 'order' => $args['order'], 852 848 'paged' => get_query_var( 'paged' ), 853 'year' => $args['year'],854 'month' => $args['month'],855 'week' => $args['week'],856 'day' => $args['day'],857 'after' => $args['after'],858 'before' => $args['before'],859 849 ); 860 850 … … 899 889 900 890 $query_args['orderby'] = $args['orderby']; 891 892 // Add year month etc filter, adjusted for sermon date. 893 if ( 'meta_value_num' === $query_args['orderby'] ) { 894 $date_args = array( 895 'year', 896 'month', 897 ); 898 899 foreach ( $date_args as $date_arg ) { 900 if ( ! isset( $args[ $date_arg ] ) || ! $args[ $date_arg ] ) { 901 continue; 902 } 903 904 $query_args['meta_compare'] = 'BETWEEN'; 905 906 switch ( $date_arg ) { 907 case 'year': 908 $year = $args['year']; 909 910 $query_args['meta_value_num'] = array( 911 strtotime( $year . '-01-01' ), 912 strtotime( $year . '-12-31' ), 913 ); 914 break; 915 case 'month': 916 $year = $args['year'] ?: date( 'Y' ); 917 $month = intval( $args['month'] ) ?: date( 'm' ); 918 919 $query_args['meta_value_num'] = array( 920 strtotime( $year . '-' . $args['month'] . '-' . '01' ), 921 strtotime( $year . '-' . $month . '-' . cal_days_in_month( CAL_GREGORIAN, $month, $year ) ), 922 ); 923 break; 924 } 925 } 926 } 927 928 // Add before and after parameters. 929 if ( 'meta_value_num' === $query_args['orderby'] && ( $args['before'] || $args['after'] ) ) { 930 $before = null; 931 $after = null; 932 933 if ( $args['before'] ) { 934 $before = strtotime( $args['before'] ); 935 } 936 937 if ( $args['after'] ) { 938 $after = strtotime( $args['after'] ); 939 } 940 941 if ( $before && $after ) { 942 $query_args['meta_compare'] = 'BETWEEN'; 943 $query_args['meta_value_num'] = array( $after, $before ); 944 } elseif ( $after ) { 945 $query_args['meta_compare'] = '>='; 946 $query_args['meta_value_num'] = $after; 947 } elseif ( $before ) { 948 $query_args['meta_compare'] = '<='; 949 $query_args['meta_value_num'] = $before; 950 } 951 } 901 952 902 953 // If we should show just specific sermons. -
sermon-manager-for-wordpress/trunk/readme.txt
r2028461 r2028748 126 126 * New: Add compatibility for Pro theme 127 127 * New: Add a setting to change default sermon ordering (in "Display" tab) 128 * Fix: Date filtering in shortcode 128 129 * Fix: Improve [latest_series] shortcode 129 130 * Fix: Service Type filter in backend not working when slug is different from default
Note: See TracChangeset
for help on using the changeset viewer.