how wordpress call own functions?
-
Hi…
I’m new to wordpress and want to know how it works!!
At this moment i started read wordpress functions from here:
https://codex.www.ads-software.com/Function_Reference
The first function is get_adjacent_post and it located in wp-includes/link-template.php
here is get_adjacent_post function codes:function get_adjacent_post( $in_same_term = false, $excluded_terms = '', $previous = true, $taxonomy = 'category' ) { global $wpdb; if ( ( ! $post = get_post() ) || ! taxonomy_exists( $taxonomy ) ) return null; $current_post_date = $post->post_date; $join = ''; $where = ''; if ( $in_same_term || ! empty( $excluded_terms ) ) { $join = " INNER JOIN $wpdb->term_relationships AS tr ON p.ID = tr.object_id INNER JOIN $wpdb->term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id"; $where = $wpdb->prepare( "AND tt.taxonomy = %s", $taxonomy ); if ( ! empty( $excluded_terms ) && ! is_array( $excluded_terms ) ) { // back-compat, $excluded_terms used to be $excluded_terms with IDs separated by " and " if ( false !== strpos( $excluded_terms, ' and ' ) ) { _deprecated_argument( __FUNCTION__, '3.3', sprintf( __( 'Use commas instead of %s to separate excluded terms.' ), "'and'" ) ); $excluded_terms = explode( ' and ', $excluded_terms ); } else { $excluded_terms = explode( ',', $excluded_terms ); } $excluded_terms = array_map( 'intval', $excluded_terms ); } if ( $in_same_term ) { if ( ! is_object_in_taxonomy( $post->post_type, $taxonomy ) ) return ''; $term_array = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) ); // Remove any exclusions from the term array to include. $term_array = array_diff( $term_array, (array) $excluded_terms ); $term_array = array_map( 'intval', $term_array ); if ( ! $term_array || is_wp_error( $term_array ) ) return ''; $where .= " AND tt.term_id IN (" . implode( ',', $term_array ) . ")"; } if ( ! empty( $excluded_terms ) ) { $where .= " AND p.ID NOT IN ( SELECT tr.object_id FROM $wpdb->term_relationships tr LEFT JOIN $wpdb->term_taxonomy tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id) WHERE tt.term_id IN (" . implode( $excluded_terms, ',' ) . ') )'; } } $adjacent = $previous ? 'previous' : 'next'; $op = $previous ? '<' : '>'; $order = $previous ? 'DESC' : 'ASC'; /** * Filter the JOIN clause in the SQL for an adjacent post query. * * The dynamic portion of the hook name, <code>$adjacent</code>, refers to the type * of adjacency, 'next' or 'previous'. * * @since 2.5.0 * * @param string $join The JOIN clause in the SQL. * @param bool $in_same_term Whether post should be in a same taxonomy term. * @param array $excluded_terms Array of excluded term IDs. */ $join = apply_filters( "get_{$adjacent}_post_join", $join, $in_same_term, $excluded_terms ); /** * Filter the WHERE clause in the SQL for an adjacent post query. * * The dynamic portion of the hook name, <code>$adjacent</code>, refers to the type * of adjacency, 'next' or 'previous'. * * @since 2.5.0 * * @param string $where The <code>WHERE</code> clause in the SQL. * @param bool $in_same_term Whether post should be in a same taxonomy term. * @param array $excluded_terms Array of excluded term IDs. */ $where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare( "WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish' $where", $current_post_date, $post->post_type ), $in_same_term, $excluded_terms ); /** * Filter the ORDER BY clause in the SQL for an adjacent post query. * * The dynamic portion of the hook name, <code>$adjacent</code>, refers to the type * of adjacency, 'next' or 'previous'. * * @since 2.5.0 * * @param string $order_by The <code>ORDER BY</code> clause in the SQL. */ $sort = apply_filters( "get_{$adjacent}_post_sort", "ORDER BY p.post_date $order LIMIT 1" ); $query = "SELECT p.ID FROM $wpdb->posts AS p $join $where $sort"; $query_key = 'adjacent_post_' . md5( $query ); $result = wp_cache_get( $query_key, 'counts' ); if ( false !== $result ) { if ( $result ) $result = get_post( $result ); return $result; } $result = $wpdb->get_var( $query ); if ( null === $result ) $result = ''; wp_cache_set( $query_key, $result, 'counts' ); if ( $result ) $result = get_post( $result ); return $result; }
In first
if(){}
we called get_post() function that located in wp-includes/post.php and wp-includes/class-wp-atom-server.php
Now my question! :
Why get_post() is working?!
It’s located in (wp-includes/post.php and wp-includes/class-wp-atom-server.php) and we don’t have this syntax:include "post.php";
OR
include "class-wp-atom-server.php";
?! ??
Viewing 3 replies - 1 through 3 (of 3 total)
Viewing 3 replies - 1 through 3 (of 3 total)
- The topic ‘how wordpress call own functions?’ is closed to new replies.