| | 793 | /** |
| | 794 | * @param WP_Query $wp_query |
| | 795 | * |
| | 796 | * @return int |
| | 797 | */ |
| | 798 | |
| | 799 | function get_loop_last_index( $wp_query = null ) { |
| | 800 | if ( $wp_query == null ) { |
| | 801 | global $wp_query; |
| | 802 | } |
| | 803 | |
| | 804 | return $wp_query->post_count - 1; |
| | 805 | } |
| | 806 | |
| | 807 | /** |
| | 808 | * @param WP_Query $wp_query |
| | 809 | * |
| | 810 | * @return int |
| | 811 | */ |
| | 812 | function get_loop_index( $wp_query = null ) { |
| | 813 | if ( $wp_query == null ) { |
| | 814 | global $wp_query; |
| | 815 | } |
| | 816 | |
| | 817 | return $wp_query->current_post; |
| | 818 | } |
| | 819 | |
| | 820 | /** |
| | 821 | * @param int $index |
| | 822 | * @param WP_Query $wp_query |
| | 823 | * |
| | 824 | * @return bool |
| | 825 | */ |
| | 826 | |
| | 827 | function is_loop_index( $index, $wp_query = null ) { |
| | 828 | return get_loop_index( $wp_query ) == $index; |
| | 829 | } |
| | 830 | |
| | 831 | /** |
| | 832 | * @param WP_Query $wp_query |
| | 833 | * |
| | 834 | * @return bool |
| | 835 | */ |
| | 836 | function is_loop_first( $wp_query = null ) { |
| | 837 | return get_loop_index( $wp_query ) == 0; |
| | 838 | } |
| | 839 | |
| | 840 | /** |
| | 841 | * @param WP_Query $wp_query |
| | 842 | * |
| | 843 | * @return bool |
| | 844 | */ |
| | 845 | |
| | 846 | function is_loop_last( $wp_query = null ) { |
| | 847 | return get_loop_index( $wp_query ) == get_loop_last_index( $wp_query ); |
| | 848 | } |
| | 849 | |
| | 850 | /** |
| | 851 | * @param WP_Query $wp_query |
| | 852 | * |
| | 853 | * @return bool |
| | 854 | */ |
| | 855 | |
| | 856 | function is_loop_even( $wp_query = null ) { |
| | 857 | return ( get_loop_index( $wp_query ) + 1 ) % 2 == 0; |
| | 858 | } |
| | 859 | |
| | 860 | /** |
| | 861 | * @param WP_Query $wp_query |
| | 862 | * |
| | 863 | * @return bool |
| | 864 | */ |
| | 865 | |
| | 866 | function is_loop_odd( $wp_query = null ) { |
| | 867 | return ( get_loop_index( $wp_query ) + 1 ) % 2 != 0; |
| | 868 | } |
| | 869 | |