Risultati della ricerca per 'Pagination wordpress'
-
-
Quando provo ad accedere al mio sito web mi da il seguente errore:
/** * WordPress environment setup class. * * @package WordPress * @since 2.0.0 */ #[AllowDynamicProperties] class WP { /** * Public query variables. * * Long list of public query variables. * * @since 2.0.0 * @var string[] */ public $public_query_vars = array( ‘m’, ‘p’, ‘posts’, ‘w’, ‘cat’, ‘withcomments’, ‘withoutcomments’, ‘s’, ‘search’, ‘exact’, ‘sentence’, ‘calendar’, ‘page’, ‘paged’, ‘more’, ‘tb’, ‘pb’, ‘author’, ‘order’, ‘orderby’, ‘year’, ‘monthnum’, ‘day’, ‘hour’, ‘minute’, ‘second’, ‘name’, ‘category_name’, ‘tag’, ‘feed’, ‘author_name’, ‘pagename’, ‘page_id’, ‘error’, ‘attachment’, ‘attachment_id’, ‘subpost’, ‘subpost_id’, ‘preview’, ‘robots’, ‘favicon’, ‘taxonomy’, ‘term’, ‘cpage’, ‘post_type’, ‘embed’ ); /** * Private query variables. * * Long list of private query variables. * * @since 2.0.0 * @var string[] */ public $private_query_vars = array( ‘offset’, ‘posts_per_page’, ‘posts_per_archive_page’, ‘showposts’, ‘nopaging’, ‘post_type’, ‘post_status’, ‘category__in’, ‘category__not_in’, ‘category__and’, ‘tag__in’, ‘tag__not_in’, ‘tag__and’, ‘tag_slug__in’, ‘tag_slug__and’, ‘tag_id’, ‘post_mime_type’, ‘perm’, ‘comments_per_page’, ‘post__in’, ‘post__not_in’, ‘post_parent’, ‘post_parent__in’, ‘post_parent__not_in’, ‘title’, ‘fields’ ); /** * Extra query variables set by the user. * * @since 2.1.0 * @var array */ public $extra_query_vars = array(); /** * Query variables for setting up the WordPress Query Loop. * * @since 2.0.0 * @var array */ public $query_vars = array(); /** * String parsed to set the query variables. * * @since 2.0.0 * @var string */ public $query_string = ”; /** * The request path, e.g. 2015/05/06. * * @since 2.0.0 * @var string */ public $request = ”; /** * Rewrite rule the request matched. * * @since 2.0.0 * @var string */ public $matched_rule = ”; /** * Rewrite query the request matched. * * @since 2.0.0 * @var string */ public $matched_query = ”; /** * Whether already did the permalink. * * @since 2.0.0 * @var bool */ public $did_permalink = false; /** * Adds a query variable to the list of public query variables. * * @since 2.1.0 * * @param string $qv Query variable name. */ public function add_query_var( $qv ) { if ( ! in_array( $qv, $this->public_query_vars, true ) ) { $this->public_query_vars[] = $qv; } } /** * Removes a query variable from a list of public query variables. * * @since 4.5.0 * * @param string $name Query variable name. */ public function remove_query_var( $name ) { $this->public_query_vars = array_diff( $this->public_query_vars, array( $name ) ); } /** * Sets the value of a query variable. * * @since 2.3.0 * * @param string $key Query variable name. * @param mixed $value Query variable value. */ public function set_query_var( $key, $value ) { $this->query_vars[ $key ] = $value; } /** * Parses the request to find the correct WordPress query. * * Sets up the query variables based on the request. There are also many * filters and actions that can be used to further manipulate the result. * * @since 2.0.0 * @since 6.0.0 A return value was added. * * @global WP_Rewrite $wp_rewrite WordPress rewrite component. * * @param array|string $extra_query_vars Set the extra query variables. * @return bool Whether the request was parsed. */ public function parse_request( $extra_query_vars = ” ) { global $wp_rewrite; /** * Filters whether to parse the request. * * @since 3.5.0 * * @param bool $bool Whether or not to parse the request. Default true. * @param WP $wp Current WordPress environment instance. * @param array|string $extra_query_vars Extra passed query variables. */ if ( ! apply_filters( ‘do_parse_request’, true, $this, $extra_query_vars ) ) { return false; } $this->query_vars = array(); $post_type_query_vars = array(); if ( is_array( $extra_query_vars ) ) { $this->extra_query_vars = & $extra_query_vars; } elseif ( ! empty( $extra_query_vars ) ) { parse_str( $extra_query_vars, $this->extra_query_vars ); } // Process PATH_INFO, REQUEST_URI, and 404 for permalinks. // Fetch the rewrite rules. $rewrite = $wp_rewrite->wp_rewrite_rules(); if ( ! empty( $rewrite ) ) { // If we match a rewrite rule, this will be cleared. $error = ‘404’; $this->did_permalink = true; $pathinfo = isset( $_SERVER[‘PATH_INFO’] ) ? $_SERVER[‘PATH_INFO’] : ”; list( $pathinfo ) = explode( ‘?’, $pathinfo ); $pathinfo = str_replace( ‘%’, ‘%25’, $pathinfo ); list( $req_uri ) = explode( ‘?’, $_SERVER[‘REQUEST_URI’] ); $self = $_SERVER[‘PHP_SELF’]; $home_path = parse_url( home_url(), PHP_URL_PATH ); $home_path_regex = ”; if ( is_string( $home_path ) && ” !== $home_path ) { $home_path = trim( $home_path, ‘/’ ); $home_path_regex = sprintf( ‘|^%s|i’, preg_quote( $home_path, ‘|’ ) ); } /* * Trim path info from the end and the leading home path from the front. * For path info requests, this leaves us with the requesting filename, if any. * For 404 requests, this leaves us with the requested permalink. */ $req_uri = str_replace( $pathinfo, ”, $req_uri ); $req_uri = trim( $req_uri, ‘/’ ); $pathinfo = trim( $pathinfo, ‘/’ ); $self = trim( $self, ‘/’ ); if ( ! empty( $home_path_regex ) ) { $req_uri = preg_replace( $home_path_regex, ”, $req_uri ); $req_uri = trim( $req_uri, ‘/’ ); $pathinfo = preg_replace( $home_path_regex, ”, $pathinfo ); $pathinfo = trim( $pathinfo, ‘/’ ); $self = preg_replace( $home_path_regex, ”, $self ); $self = trim( $self, ‘/’ ); } // The requested permalink is in $pathinfo for path info requests and $req_uri for other requests. if ( ! empty( $pathinfo ) && ! preg_match( ‘|^.*’ . $wp_rewrite->index . ‘$|’, $pathinfo ) ) { $requested_path = $pathinfo; } else { // If the request uri is the index, blank it out so that we don’t try to match it against a rule. if ( $req_uri === $wp_rewrite->index ) { $req_uri = ”; } $requested_path = $req_uri; } $requested_file = $req_uri; $this->request = $requested_path; // Look for matches. $request_match = $requested_path; if ( empty( $request_match ) ) { // An empty request could only match against ^$ regex. if ( isset( $rewrite[‘$’] ) ) { $this->matched_rule = ‘$’; $query = $rewrite[‘$’]; $matches = array( ” ); } } else { foreach ( (array) $rewrite as $match => $query ) { // If the requested file is the anchor of the match, prepend it to the path info. if ( ! empty( $requested_file ) && str_starts_with( $match, $requested_file ) && $requested_file !== $requested_path ) { $request_match = $requested_file . ‘/’ . $requested_path; } if ( preg_match( “#^$match#”, $request_match, $matches ) || preg_match( “#^$match#”, urldecode( $request_match ), $matches ) ) { if ( $wp_rewrite->use_verbose_page_rules && preg_match( ‘/pagename=\$matches\[([0-9]+)\]/’, $query, $varmatch ) ) { // This is a verbose page match, let’s check to be sure about it. $page = get_page_by_path( $matches[ $varmatch[1] ] ); if ( ! $page ) { continue; } $post_status_obj = get_post_status_object( $page->post_status ); if ( ! $post_status_obj->public && ! $post_status_obj->protected && ! $post_status_obj->private && $post_status_obj->exclude_from_search ) { continue; } } // Got a match. $this->matched_rule = $match; break; } } } if ( ! empty( $this->matched_rule ) ) { // Trim the query of everything up to the ‘?’. $query = preg_replace( ‘!^.+\?!’, ”, $query ); // Substitute the substring matches into the query. $query = addslashes( WP_MatchesMapRegex::apply( $query, $matches ) ); $this->matched_query = $query; // Parse the query. parse_str( $query, $perma_query_vars ); // If we’re processing a 404 request, clear the error var since we found something. if ( ‘404’ === $error ) { unset( $error, $_GET[‘error’] ); } } // If req_uri is empty or if it is a request for ourself, unset error. if ( empty( $requested_path ) || $requested_file === $self || str_contains( $_SERVER[‘PHP_SELF’], ‘wp-admin/’ ) ) { unset( $error, $_GET[‘error’] ); if ( isset( $perma_query_vars ) && str_contains( $_SERVER[‘PHP_SELF’], ‘wp-admin/’ ) ) { unset( $perma_query_vars ); } $this->did_permalink = false; } } /** * Filters the query variables allowed before processing. * * Allows (publicly allowed) query vars to be added, removed, or changed prior * to executing the query. Needed to allow custom rewrite rules using your own arguments * to work, or any other custom query variables you want to be publicly available. * * @since 1.5.0 * * @param string[] $public_query_vars The array of allowed query variable names. */ $this->public_query_vars = apply_filters( ‘query_vars’, $this->public_query_vars ); foreach ( get_post_types( array(), ‘objects’ ) as $post_type => $t ) { if ( is_post_type_viewable( $t ) && $t->query_var ) { $post_type_query_vars[ $t->query_var ] = $post_type; } } foreach ( $this->public_query_vars as $wpvar ) { if ( isset( $this->extra_query_vars[ $wpvar ] ) ) { $this->query_vars[ $wpvar ] = $this->extra_query_vars[ $wpvar ]; } elseif ( isset( $_GET[ $wpvar ] ) && isset( $_POST[ $wpvar ] ) && $_GET[ $wpvar ] !== $_POST[ $wpvar ] ) { wp_die( __( ‘A variable mismatch has been detected.’ ), __( ‘Sorry, you are not allowed to view this item.’ ), 400 ); } elseif ( isset( $_POST[ $wpvar ] ) ) { $this->query_vars[ $wpvar ] = $_POST[ $wpvar ]; } elseif ( isset( $_GET[ $wpvar ] ) ) { $this->query_vars[ $wpvar ] = $_GET[ $wpvar ]; } elseif ( isset( $perma_query_vars[ $wpvar ] ) ) { $this->query_vars[ $wpvar ] = $perma_query_vars[ $wpvar ]; } if ( ! empty( $this->query_vars[ $wpvar ] ) ) { if ( ! is_array( $this->query_vars[ $wpvar ] ) ) { $this->query_vars[ $wpvar ] = (string) $this->query_vars[ $wpvar ]; } else { foreach ( $this->query_vars[ $wpvar ] as $vkey => $v ) { if ( is_scalar( $v ) ) { $this->query_vars[ $wpvar ][ $vkey ] = (string) $v; } } } if ( isset( $post_type_query_vars[ $wpvar ] ) ) { $this->query_vars[‘post_type’] = $post_type_query_vars[ $wpvar ]; $this->query_vars[‘name’] = $this->query_vars[ $wpvar ]; } } } // Convert urldecoded spaces back into ‘+’. foreach ( get_taxonomies( array(), ‘objects’ ) as $taxonomy => $t ) { if ( $t->query_var && isset( $this->query_vars[ $t->query_var ] ) ) { $this->query_vars[ $t->query_var ] = str_replace( ‘ ‘, ‘+’, $this->query_vars[ $t->query_var ] ); } } // Don’t allow non-publicly queryable taxonomies to be queried from the front end. if ( ! is_admin() ) { foreach ( get_taxonomies( array( ‘publicly_queryable’ => false ), ‘objects’ ) as $taxonomy => $t ) { /* * Disallow when set to the ‘taxonomy’ query var. * Non-publicly queryable taxonomies cannot register custom query vars. See register_taxonomy(). */ if ( isset( $this->query_vars[‘taxonomy’] ) && $taxonomy === $this->query_vars[‘taxonomy’] ) { unset( $this->query_vars[‘taxonomy’], $this->query_vars[‘term’] ); } } } // Limit publicly queried post_types to those that are ‘publicly_queryable’. if ( isset( $this->query_vars[‘post_type’] ) ) { $queryable_post_types = get_post_types( array( ‘publicly_queryable’ => true ) ); if ( ! is_array( $this->query_vars[‘post_type’] ) ) { if ( ! in_array( $this->query_vars[‘post_type’], $queryable_post_types, true ) ) { unset( $this->query_vars[‘post_type’] ); } } else { $this->query_vars[‘post_type’] = array_intersect( $this->query_vars[‘post_type’], $queryable_post_types ); } } // Resolve conflicts between posts with numeric slugs and date archive queries. $this->query_vars = wp_resolve_numeric_slug_conflicts( $this->query_vars ); foreach ( (array) $this->private_query_vars as $var ) { if ( isset( $this->extra_query_vars[ $var ] ) ) { $this->query_vars[ $var ] = $this->extra_query_vars[ $var ]; } } if ( isset( $error ) ) { $this->query_vars[‘error’] = $error; } /** * Filters the array of parsed query variables. * * @since 2.1.0 * * @param array $query_vars The array of requested query variables. */ $this->query_vars = apply_filters( ‘request’, $this->query_vars ); /** * Fires once all query variables for the current request have been parsed. * * @since 2.1.0 * * @param WP $wp Current WordPress environment instance (passed by reference). */ do_action_ref_array( ‘parse_request’, array( &$this ) ); return true; } /** * Sends additional HTTP headers for caching, content type, etc. * * Sets the Content-Type header. Sets the ‘error’ status (if passed) and optionally exits. * If showing a feed, it will also send Last-Modified, ETag, and 304 status if needed. * * @since 2.0.0 * @since 4.4.0
X-Pingbackheader is added conditionally for single posts that allow pings. * @since 6.1.0 Runs after posts have been queried. * * @global WP_Query $wp_query WordPress Query object. */ public function send_headers() { global $wp_query; $headers = array(); $status = null; $exit_required = false; $date_format = ‘D, d M Y H:i:s’; if ( is_user_logged_in() ) { $headers = array_merge( $headers, wp_get_nocache_headers() ); } elseif ( ! empty( $_GET[‘unapproved’] ) && ! empty( $_GET[‘moderation-hash’] ) ) { // Unmoderated comments are only visible for 10 minutes via the moderation hash. $expires = 10 * MINUTE_IN_SECONDS; $headers[‘Expires’] = gmdate( $date_format, time() + $expires ); $headers[‘Cache-Control’] = sprintf( ‘max-age=%d, must-revalidate’, $expires ); } if ( ! empty( $this->query_vars[‘error’] ) ) { $status = (int) $this->query_vars[‘error’]; if ( 404 === $status ) { if ( ! is_user_logged_in() ) { $headers = array_merge( $headers, wp_get_nocache_headers() ); } $headers[‘Content-Type’] = get_option( ‘html_type’ ) . ‘; charset=’ . get_option( ‘blog_charset’ ); } elseif ( in_array( $status, array( 403, 500, 502, 503 ), true ) ) { $exit_required = true; } } elseif ( empty( $this->query_vars[‘feed’] ) ) { $headers[‘Content-Type’] = get_option( ‘html_type’ ) . ‘; charset=’ . get_option( ‘blog_charset’ ); } else { // Set the correct content type for feeds. $type = $this->query_vars[‘feed’]; if ( ‘feed’ === $this->query_vars[‘feed’] ) { $type = get_default_feed(); } $headers[‘Content-Type’] = feed_content_type( $type ) . ‘; charset=’ . get_option( ‘blog_charset’ ); // We’re showing a feed, so WP is indeed the only thing that last changed. if ( ! empty( $this->query_vars[‘withcomments’] ) || str_contains( $this->query_vars[‘feed’], ‘comments-‘ ) || ( empty( $this->query_vars[‘withoutcomments’] ) && ( ! empty( $this->query_vars[‘p’] ) || ! empty( $this->query_vars[‘name’] ) || ! empty( $this->query_vars[‘page_id’] ) || ! empty( $this->query_vars[‘pagename’] ) || ! empty( $this->query_vars[‘attachment’] ) || ! empty( $this->query_vars[‘attachment_id’] ) ) ) ) { $wp_last_modified_post = mysql2date( $date_format, get_lastpostmodified( ‘GMT’ ), false ); $wp_last_modified_comment = mysql2date( $date_format, get_lastcommentmodified( ‘GMT’ ), false ); if ( strtotime( $wp_last_modified_post ) > strtotime( $wp_last_modified_comment ) ) { $wp_last_modified = $wp_last_modified_post; } else { $wp_last_modified = $wp_last_modified_comment; } } else { $wp_last_modified = mysql2date( $date_format, get_lastpostmodified( ‘GMT’ ), false ); } if ( ! $wp_last_modified ) { $wp_last_modified = gmdate( $date_format ); } $wp_last_modified .= ‘ GMT’; $wp_etag = ‘”‘ . md5( $wp_last_modified ) . ‘”‘; $headers[‘Last-Modified’] = $wp_last_modified; $headers[‘ETag’] = $wp_etag; // Support for conditional GET. if ( isset( $_SERVER[‘HTTP_IF_NONE_MATCH’] ) ) { $client_etag = wp_unslash( $_SERVER[‘HTTP_IF_NONE_MATCH’] ); } else { $client_etag = ”; } if ( isset( $_SERVER[‘HTTP_IF_MODIFIED_SINCE’] ) ) { $client_last_modified = trim( $_SERVER[‘HTTP_IF_MODIFIED_SINCE’] ); } else { $client_last_modified = ”; } // If string is empty, return 0. If not, attempt to parse into a timestamp. $client_modified_timestamp = $client_last_modified ? strtotime( $client_last_modified ) : 0; // Make a timestamp for our most recent modification. $wp_modified_timestamp = strtotime( $wp_last_modified ); if ( ( $client_last_modified && $client_etag ) ? ( ( $client_modified_timestamp >= $wp_modified_timestamp ) && ( $client_etag === $wp_etag ) ) : ( ( $client_modified_timestamp >= $wp_modified_timestamp ) || ( $client_etag === $wp_etag ) ) ) { $status = 304; $exit_required = true; } } if ( is_singular() ) { $post = isset( $wp_query->post ) ? $wp_query->post : null; // Only set X-Pingback for single posts that allow pings. if ( $post && pings_open( $post ) ) { $headers[‘X-Pingback’] = get_bloginfo( ‘pingback_url’, ‘display’ ); } } /** * Filters the HTTP headers before they’re sent to the browser. * * @since 2.8.0 * * @param string[] $headers Associative array of headers to be sent. * @param WP $wp Current WordPress environment instance. */ $headers = apply_filters( ‘wp_headers’, $headers, $this ); if ( ! empty( $status ) ) { status_header( $status ); } // If Last-Modified is set to false, it should not be sent (no-cache situation). if ( isset( $headers[‘Last-Modified’] ) && false === $headers[‘Last-Modified’] ) { unset( $headers[‘Last-Modified’] ); if ( ! headers_sent() ) { header_remove( ‘Last-Modified’ ); } } if ( ! headers_sent() ) { foreach ( (array) $headers as $name => $field_value ) { header( “{$name}: {$field_value}” ); } } if ( $exit_required ) { exit; } /** * Fires once the requested HTTP headers for caching, content type, etc. have been sent. * * @since 2.1.0 * * @param WP $wp Current WordPress environment instance (passed by reference). */ do_action_ref_array( ‘send_headers’, array( &$this ) ); } /** * Sets the query string property based off of the query variable property. * * The {@see ‘query_string’} filter is deprecated, but still works. Plugins should * use the {@see ‘request’} filter instead. * * @since 2.0.0 */ public function build_query_string() { $this->query_string = ”; foreach ( (array) array_keys( $this->query_vars ) as $wpvar ) { if ( ” !== $this->query_vars[ $wpvar ] ) { $this->query_string .= ( strlen( $this->query_string ) < 1 ) ? ” : ‘&’; if ( ! is_scalar( $this->query_vars[ $wpvar ] ) ) { // Discard non-scalars. continue; } $this->query_string .= $wpvar . ‘=’ . rawurlencode( $this->query_vars[ $wpvar ] ); } } if ( has_filter( ‘query_string’ ) ) { // Don’t bother filtering and parsing if no plugins are hooked in. /** * Filters the query string before parsing. * * @since 1.5.0 * @deprecated 2.1.0 Use {@see ‘query_vars’} or {@see ‘request’} filters instead. * * @param string $query_string The query string to modify. */ $this->query_string = apply_filters_deprecated( ‘query_string’, array( $this->query_string ), ‘2.1.0’, ‘query_vars, request’ ); parse_str( $this->query_string, $this->query_vars ); } } /** * Set up the WordPress Globals. * * The query_vars property will be extracted to the GLOBALS. So care should * be taken when naming global variables that might interfere with the * WordPress environment. * * @since 2.0.0 * * @global WP_Query $wp_query WordPress Query object. * @global string $query_string Query string for the loop. * @global array $posts The found posts. * @global WP_Post|null $post The current post, if available. * @global string $request The SQL statement for the request. * @global int $more Only set, if single page or post. * @global int $single If single page or post. Only set, if single page or post. * @global WP_User $authordata Only set, if author archive. */ public function register_globals() { global $wp_query; // Extract updated query vars back into global namespace. foreach ( (array) $wp_query->query_vars as $key => $value ) { $GLOBALS[ $key ] = $value; } $GLOBALS[‘query_string’] = $this->query_string; $GLOBALS[‘posts’] = & $wp_query->posts; $GLOBALS[‘post’] = isset( $wp_query->post ) ? $wp_query->post : null; $GLOBALS[‘request’] = $wp_query->request; if ( $wp_query->is_single() || $wp_query->is_page() ) { $GLOBALS[‘more’] = 1; $GLOBALS[‘single’] = 1; } if ( $wp_query->is_author() ) { $GLOBALS[‘authordata’] = get_userdata( get_queried_object_id() ); } } /** * Set up the current user. * * @since 2.0.0 */ public function init() { wp_get_current_user(); } /** * Set up the Loop based on the query variables. * * @since 2.0.0 * * @global WP_Query $wp_the_query WordPress Query object. */ public function query_posts() { global $wp_the_query; $this->build_query_string(); $wp_the_query->query( $this->query_vars ); } /** * Set the Headers for 404, if nothing is found for requested URL. * * Issue a 404 if a request doesn’t match any posts and doesn’t match any object * (e.g. an existing-but-empty category, tag, author) and a 404 was not already issued, * and if the request was not a search or the homepage. * * Otherwise, issue a 200. * * This sets headers after posts have been queried. handle_404() really means “handle status”. * By inspecting the result of querying posts, seemingly successful requests can be switched to * a 404 so that canonical redirection logic can kick in. * * @since 2.0.0 * * @global WP_Query $wp_query WordPress Query object. */ public function handle_404() { global $wp_query; /** * Filters whether to short-circuit default header status handling. * * Returning a non-false value from the filter will short-circuit the handling * and return early. * * @since 4.5.0 * * @param bool $preempt Whether to short-circuit default header status handling. Default false. * @param WP_Query $wp_query WordPress Query object. */ if ( false !== apply_filters( ‘pre_handle_404’, false, $wp_query ) ) { return; } // If we’ve already issued a 404, bail. if ( is_404() ) { return; } $set_404 = true; // Never 404 for the admin, robots, or favicon. if ( is_admin() || is_robots() || is_favicon() ) { $set_404 = false; // If posts were found, check for paged content. } elseif ( $wp_query->posts ) { $content_found = true; if ( is_singular() ) { $post = isset( $wp_query->post ) ? $wp_query->post : null; $next = ”; // Check for paged content that exceeds the max number of pages. if ( $post && ! empty( $this->query_vars[‘page’] ) ) { // Check if content is actually intended to be paged. if ( str_contains( $post->post_content, $next ) ) { $page = trim( $this->query_vars[‘page’], ‘/’ ); $content_found = (int) $page <= ( substr_count( $post->post_content, $next ) + 1 ); } else { $content_found = false; } } } // The posts page does not support the pagination. if ( $wp_query->is_posts_page && ! empty( $this->query_vars[‘page’] ) ) { $content_found = false; } if ( $content_found ) { $set_404 = false; } // We will 404 for paged queries, as no posts were found. } elseif ( ! is_paged() ) { $author = get_query_var( ‘author’ ); // Don’t 404 for authors without posts as long as they matched an author on this site. if ( is_author() && is_numeric( $author ) && $author > 0 && is_user_member_of_blog( $author ) // Don’t 404 for these queries if they matched an object. || ( is_tag() || is_category() || is_tax() || is_post_type_archive() ) && get_queried_object() // Don’t 404 for these queries either. || is_home() || is_search() || is_feed() ) { $set_404 = false; } } if ( $set_404 ) { // Guess it’s time to 404. $wp_query->set_404(); status_header( 404 ); nocache_headers(); } else { status_header( 200 ); } } /** * Sets up all of the variables required by the WordPress environment. * * The action {@see ‘wp’} has one parameter that references the WP object. It * allows for accessing the properties and methods to further manipulate the * object. * * @since 2.0.0 * * @param string|array $query_args Passed to parse_request(). */ public function main( $query_args = ” ) { $this->init(); $parsed = $this->parse_request( $query_args ); if ( $parsed ) { $this->query_posts(); $this->handle_404(); $this->register_globals(); } $this->send_headers(); /** * Fires once the WordPress environment has been set up. * * @since 2.1.0 * * @param WP $wp Current WordPress environment instance (passed by reference). */ do_action_ref_array( ‘wp’, array( &$this ) ); } }
-
Quando il cliente cerca di finalizzare il pagamento attraverso carta di credito, quindi dopo aver inserito tutti i dati gi appare questo messaggio che gli impedisce di proseguire con l’acquisto bloccando l’operazione.
Questo è il messaggio che appare:
“ITEM_TOTAL_MISMATCH Should equal sum of (unit_amount*quantity) across all items for a given purcase_unit.”Questo è il report di sistema del sito`
### WordPress Environment ###WordPress address (URL): https://www.ciminadolciaria.com
Site address (URL): https://www.ciminadolciaria.com
WC Version: 6.6.1
REST API Version: ✔ 6.6.1
WC Blocks Version: ✔ 7.6.2
Action Scheduler Version: ✔ 3.4.0
Log Directory Writable: ✔
WP Version: ❌ 5.9.3 – È disponibile una versione più recente di WordPress (6.0.1)
WP Multisite: –
WP Memory Limit: 1 GB
WP Debug Mode: –
WP Cron: ✔
Language: it_IT
External object cache: –### Server Environment ###
Server Info: Apache
PHP Version: 7.4.30
PHP Post Max Size: 150 MB
PHP Time Limit: 300
PHP Max Input Vars: 12000
cURL Version: 7.83.1
OpenSSL/1.1.1oSUHOSIN Installed: –
MySQL Version: 5.7.38-log
Max Upload Size: 150 MB
Default Timezone is UTC: ✔
fsockopen/cURL: ✔
SoapClient: ✔
DOMDocument: ✔
GZip: ✔
Multibyte String: ✔
Remote Post: ✔
Remote Get: ✔### Database ###
WC Database Version: 6.6.1
WC Database Prefix: wp_
Dimensione totale database: 58.88MB
Dimensione dati database: 47.10MB
Dimensione indice database: 11.78MB
wp_woocommerce_sessions: Dati: 0.09MB + indice: 0.02MB + motore InnoDB
wp_woocommerce_api_keys: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_woocommerce_attribute_taxonomies: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_woocommerce_downloadable_product_permissions: Dati: 0.02MB + indice: 0.06MB + motore InnoDB
wp_woocommerce_order_items: Dati: 0.17MB + indice: 0.08MB + motore InnoDB
wp_woocommerce_order_itemmeta: Dati: 1.52MB + indice: 1.92MB + motore InnoDB
wp_woocommerce_tax_rates: Dati: 0.02MB + indice: 0.06MB + motore InnoDB
wp_woocommerce_tax_rate_locations: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_woocommerce_shipping_zones: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_woocommerce_shipping_zone_locations: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_woocommerce_shipping_zone_methods: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_woocommerce_payment_tokens: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_woocommerce_payment_tokenmeta: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_woocommerce_log: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_actionscheduler_actions: Dati: 1.02MB + indice: 0.16MB + motore InnoDB
wp_actionscheduler_claims: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_actionscheduler_groups: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_actionscheduler_logs: Dati: 0.52MB + indice: 0.42MB + motore InnoDB
wp_aioseo_cache: Dati: 0.16MB + indice: 0.03MB + motore InnoDB
wp_aioseo_notifications: Dati: 0.02MB + indice: 0.06MB + motore InnoDB
wp_aioseo_posts: Dati: 0.09MB + indice: 0.02MB + motore InnoDB
wp_cmplz_cookiebanners: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_cmplz_cookies: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_cmplz_dnsmpd: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_cmplz_services: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_cmplz_statistics: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_commentmeta: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_comments: Dati: 0.16MB + indice: 0.09MB + motore InnoDB
wp_e_events: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_links: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_options: Dati: 6.22MB + indice: 0.16MB + motore InnoDB
wp_postmeta: Dati: 9.52MB + indice: 4.03MB + motore InnoDB
wp_posts: Dati: 2.52MB + indice: 0.33MB + motore InnoDB
wp_revslider_css: Dati: 0.13MB + indice: 0.00MB + motore InnoDB
wp_revslider_css_bkp: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_revslider_layer_animations: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_revslider_layer_animations_bkp: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_revslider_navigations: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_revslider_navigations_bkp: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_revslider_sliders: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_revslider_sliders_bkp: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_revslider_slides: Dati: 0.11MB + indice: 0.00MB + motore InnoDB
wp_revslider_slides_bkp: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_revslider_static_slides: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_revslider_static_slides_bkp: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_sbi_feeds: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_sbi_feed_caches: Dati: 0.14MB + indice: 0.02MB + motore InnoDB
wp_sbi_instagram_feeds_posts: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_sbi_instagram_feed_locator: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_sbi_instagram_posts: Dati: 0.11MB + indice: 0.00MB + motore InnoDB
wp_sbi_sources: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_termmeta: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_terms: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_term_relationships: Dati: 0.06MB + indice: 0.02MB + motore InnoDB
wp_term_taxonomy: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_usermeta: Dati: 1.52MB + indice: 2.02MB + motore InnoDB
wp_users: Dati: 0.08MB + indice: 0.05MB + motore InnoDB
wp_wcpdf_invoice_number: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_wcpdf_packing_slip_number: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_wc_admin_notes: Dati: 0.08MB + indice: 0.00MB + motore InnoDB
wp_wc_admin_note_actions: Dati: 0.05MB + indice: 0.02MB + motore InnoDB
wp_wc_category_lookup: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_wc_customer_lookup: Dati: 0.06MB + indice: 0.03MB + motore InnoDB
wp_wc_download_log: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_wc_order_coupon_lookup: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_wc_order_product_lookup: Dati: 0.16MB + indice: 0.19MB + motore InnoDB
wp_wc_order_stats: Dati: 0.06MB + indice: 0.05MB + motore InnoDB
wp_wc_order_tax_lookup: Dati: 0.06MB + indice: 0.03MB + motore InnoDB
wp_wc_product_attributes_lookup: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_wc_product_download_directories: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_wc_product_meta_lookup: Dati: 0.06MB + indice: 0.09MB + motore InnoDB
wp_wc_rate_limits: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_wc_reserved_stock: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_wc_tax_rate_classes: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_wc_webhooks: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_wfblockediplog: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_wfblocks7: Dati: 0.02MB + indice: 0.05MB + motore InnoDB
wp_wfconfig: Dati: 0.48MB + indice: 0.00MB + motore InnoDB
wp_wfcrawlers: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_wffilechanges: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_wffilemods: Dati: 11.52MB + indice: 0.00MB + motore InnoDB
wp_wfhits: Dati: 1.33MB + indice: 0.09MB + motore InnoDB
wp_wfhoover: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_wfissues: Dati: 0.06MB + indice: 0.06MB + motore InnoDB
wp_wfknownfilelist: Dati: 5.52MB + indice: 0.00MB + motore InnoDB
wp_wflivetraffichuman: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_wflocs: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_wflogins: Dati: 0.28MB + indice: 0.13MB + motore InnoDB
wp_wfls_2fa_secrets: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_wfls_settings: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_wfnotifications: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_wfpendingissues: Dati: 0.02MB + indice: 0.06MB + motore InnoDB
wp_wfreversecache: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_wfsnipcache: Dati: 0.02MB + indice: 0.05MB + motore InnoDB
wp_wfstatus: Dati: 0.13MB + indice: 0.11MB + motore InnoDB
wp_wftrafficrates: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_wpfm_backup: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
wp_yith_wcwl: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_yith_wcwl_lists: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_yoast_indexable: Dati: 1.50MB + indice: 0.27MB + motore InnoDB
wp_yoast_indexable_hierarchy: Dati: 0.06MB + indice: 0.05MB + motore InnoDB
wp_yoast_migrations: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
wp_yoast_primary_term: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
wp_yoast_seo_links: Dati: 0.17MB + indice: 0.14MB + motore InnoDB### Post Type Counts ###
attachment: 309
custom_css: 1
dflip: 3
elementor_font: 1
elementor_icons: 1
elementor_library: 4
mc4wp-form: 1
nav_menu_item: 146
oembed_cache: 1
ovic_footer: 1
ovic_menu: 6
page: 23
post: 1
product: 140
product_variation: 44
revision: 373
shop_coupon: 5
shop_order: 323
shop_order_refund: 1
viwec_template: 15
wpcf7_contact_form: 4
wp_global_styles: 1### Security ###
Secure connection (HTTPS): ✔
Hide errors from visitors: ✔### Active Plugins (32) ###
3D FlipBook : Dflip Lite: by DearHive – 1.7.31
FiboSearch – AJAX Search for WooCommerce: by FiboSearch Team – 1.18.1
Akismet Anti-Spam: by Automattic – 4.2.4
Click to Chat: by HoliThemes – 3.9.10
Complianz Privacy Suite (GDPR/CCPA) premium: by Really Simple Plugins – 6.2.4
Contact Form 7: by Takayuki Miyoshi – 5.6
Elementor Pro: by Elementor.com – 3.1.0
Elementor: by Elementor.com – 3.6.7
Email Template Customizer for WooCommerce: by VillaTheme – 1.1.10
Smash Balloon Instagram Feed: by Smash Balloon – 6.0.6
Jetpack: by Automattic – 11.1
Loco Translate: by Tim Whitlock – 2.6.2
Ovic Addon Toolkit: by Ovic Team – 2.5.5
Ovic: Import Demo: by Ovic Team – 1.5.9
Ovic: Product Bundle: by Ovic Team – 1.1.1
PW WooCommerce Bulk Edit: by Pimwick
LLC – 2.103Slider Revolution: by ThemePunch – 6.2.23
WooCommerce Smart COD: by woosmartcod.com – 1.6.1
WebP Express: by Bjørn Rosell – 0.25.5
Advanced Order Export For WooCommerce: by AlgolPlus – 3.3.1
Variation Swatches for WooCommerce: by RadiusTheme – 2.1.1.8
WooCommerce Satispay: by Satispay – 2.0.0
WooCommerce PayPal Payments: by WooCommerce – 1.9.0
WooCommerce PDF Invoices & Packing Slips: by WP Overnight – 3.0.0
WooCommerce: by Automattic – 6.6.1 (aggiornamento alla versione 6.7.0 disponibile)
Wordfence Security: by Wordfence – 7.5.11
Yoast SEO: by Team Yoast – 19.2
WP Fastest Cache: by Emre Vona – 1.0.2
Gestore di file WP: by mndpsingh287 – 7.1.6
YITH WooCommerce Compare: by YITH – 2.15.0
YITH WooCommerce Quick View: by YITH – 1.17.0
YITH WooCommerce Wishlist: by YITH – 3.10.0### Inactive Plugins (0) ###
### Must Use Plugins (1) ###
WordPress automation by Installatron: by –
### Settings ###
API Enabled: ✔
Force SSL: –
Currency: EUR (€)
Currency Position: left
Thousand Separator: ,
Decimal Separator: .
Number of Decimals: 2
Taxonomies: Product Types: external (external)
grouped (grouped)
simple (simple)
variable (variable)Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)
exclude-from-search (exclude-from-search)
featured (featured)
outofstock (outofstock)
rated-1 (rated-1)
rated-2 (rated-2)
rated-3 (rated-3)
rated-4 (rated-4)
rated-5 (rated-5)Connected to WooCommerce.com: –
Enforce Approved Product Download Directories: –### WC Pages ###
Shop base: #11278 – /shop/
Carrello: #11279 – /cart/
Pagamento: #11280 – /checkout/
Il mio account: #11 – /my-account/
Termini e condizioni: ❌ La pagina non è impostata### Theme ###
Name: Armania Child
Version: 1.1.5.1601989261
Author URL: https://kutethemes.com/
Child Theme: ✔
Parent Theme Name: Armania
Parent Theme Version: 1.2.2
Parent Theme Author URL: https://kutethemes.com/
WooCommerce Support: ✔### Templates ###
Overrides: armania/woocommerce/cart/cross-sells.php
armania/woocommerce/content-product.php
armania/woocommerce/content-single-product.php
armania/woocommerce/global/quantity-input.php
armania/woocommerce/global/wrapper-end.php
armania/woocommerce/global/wrapper-start.php
armania/woocommerce/loop/add-to-cart.php
armania/woocommerce/loop/loop-end.php
armania/woocommerce/loop/loop-start.php
armania/woocommerce/loop/pagination.php
armania/woocommerce/loop/sale-flash.php
armania/woocommerce/single-product/meta.php
armania/woocommerce/single-product/related.php
armania/woocommerce/single-product/stock.php
armania/woocommerce/single-product/tabs/tabs.php
armania/woocommerce/single-product/up-sells.php### WooCommerce PayPal Payments ###
Onboarded: ✔
Shop country code: IT
WooCommerce currency supported: ✔
PayPal card processing available in country: ✔
Pay Later messaging available in country: ✔
Webhook status: –
Vault enabled: ✔
Logging enabled: –
Reference Transactions: –
Used PayPal Checkout plugin: ✔### Admin ###
Enabled Features: activity-panels
analytics
coupons
customer-effort-score-tracks
experimental-products-task
experimental-import-products-task
experimental-fashion-sample-products
homescreen
marketing
mobile-app-banner
navigation
onboarding
onboarding-tasks
remote-inbox-notifications
remote-free-extensions
payment-gateway-suggestions
shipping-label-banner
subscriptions
store-alerts
transient-notices
wc-pay-promotion
wc-pay-welcome-page
wc-pay-subscriptions-pageDisabled Features: minified-js
settingsDaily Cron: ✔ Next scheduled: 2022-07-15 12:41:38 +00:00
Options: ✔
Notes: 93
Onboarding: completed### Action Scheduler ###
Completato: 261
Oldest: 2022-06-14 07:43:52 +0000
Newest: 2022-07-14 12:40:40 +0000In attesa: 1
Oldest: 2022-07-15 10:15:32 +0000
Newest: 2022-07-15 10:15:32 +0000### Status report information ###
Generated at: 2022-07-14 13:31:08 +00:00
`
-
Ciao a tutti. Ho installato WordPress in una ambiente con Apache interno alla nostra azienda. Il problema è che quando provo a passare alla pagina 2 della lista degli articoli, WordPress mi fa il logout molto probabilmente per il link link è composto dall’ip della macchina e non dal dominio.
Ho questo
<a class="next-page" href="http://192.168.20.15/sito/wp-admin/edit.php?paged=2"><span class="screen-reader-text">Pagina successiva</span><span aria-hidden="true">›</span></a>invece di
<a class="next-page" href="http://miosito.it/sito/wp-admin/edit.php?paged=2"><span class="screen-reader-text">Pagina successiva</span><span aria-hidden="true">›</span></a>Qualche consiglio?
Grazie in anticipo a tutti
-
Salve, ho questo codice nella searchform.php
<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>"> <div class="input-group"> <input type="text" class="search-field form-control" placeholder="<?php echo esc_attr_x( 'Inserisci qui cosa vuoi cercare!', 'placeholder' ) ?>" value="<?php echo get_search_query() ?>" name="s" aria-describedby="search-form"> <span class="input-group-btn"> <button type="submit" class="btn btn-danger" id="search-form"><?php echo esc_attr_x( 'Search', 'submit button' ) ?> </button> </span> </div> </form>Se provo ad digitare qualcosa.. tipo : “Eccoci” che è una notizia che ho scritto .. la pagina search.php non mi mostra nulla e non da nessun errore.
<?php get_header(); ?> <div class="container"> <div class="row"> <div class="col-sm-8 col-md-8"> <?php if (have_posts()): ?> <h1><?php printf( esc_html__( 'Search results for { %s }', 'luigiamorfini' ), '<span>' . get_search_query() . '</span>' ); ?></h1> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); get_template_part( 'template_parts/content', get_post_format() ); endwhile; ?> <?php my_pagination(); ?> <?php else : get_template_part( 'template_parts/content', 'none' ); endif; ?> <?php else: ?> <?php get_search_form(); ?> <?php endif; ?> </div> <div class="col-sm-4 col-md-4"> <?php get_sidebar(); ?> </div> </div> </div> <?php get_footer(); ?>Il tema è mio .. me lo sto realizzando ho tutto finito ma mi è capitato questo problema all’ultimo. Mi dite come posso risolvere.
Nell functions.php ho queste regole:
add_theme_support( 'post-formats', array( 'status','quote','gallery','image','video','audio','link','aside','chat' ,'search' ) ); add_theme_support( 'html5', array( 'comment-list','comment-form','search-form','gallery','caption' ) );Avete idea cosa può essere. ?
Utilizzo wordpress 5.0.2 italiano.
Aspetto risposte.
-
Ciao a tutti!
Sono nuovo su questo forum e stò iniziando da poco ad utilizzare wordpress, come inizio non c’è male ma ho un problema, non riesco ad inserire l’effetto animato tramite il plugin “Typing Effect”.Il codice generato dal plugin è il seguente:
[typed string0=”Scritta 1″ string1=”Scritta 2″ typeSpeed=”40″ startDelay=”0″ backSpeed=”40″ backDelay=”500″]
Vorrei inserirlo all’ interno dello slider del tema “Brando”, in particolare dove c’è scritto “photographer”, di seguito trovate la parte di codice interessata:
[vc_row show_container_fluid=”1″ fullscreen=”1″ position_relative=”1″ padding_setting=”1″ desktop_padding=”no-padding” id=”home”][vc_column][brando_slider slider_premade_style=”brando-owl-slider7″ slider_preview_image=”brando-owl-slider7″ show_pagination=”1″ show_pagination_style=”1″ show_pagination_color_style=”1″ show_cursor_color_style=”white-cursor” transition_style=”slide” autoplay=”1″ stoponhover=”1″ slidespeed=”3000″ background_slide_title=”” background_slide_subtitle=”Slider” brando_designation=”photographer”][brando_slide_content image=”5386″][/brando_slide_content][brando_slide_content image=”5386″]
Grazie in anticipo a tutti quelli che mi vorranno aiutare.
-
Buongiorno.
Vorrei inserire l’infinite scroll con l’omonima plugin alla pagina:
[modificato perché informazione promozionale]
Per quanti tentativi io abbia fatto non mi è riuscito di ottenere alcun risultato.
I parametri richiesti dalla plugin e i corrispondenti da me inseriti sono:Content selector – “.gallery”
Navigation selector – “.pagination”
Next selector – “.pagination a”
Item selector – “.gallery li”Dove sbaglio? Sapreste indicarmi?
Ve ne sarei grato.
-
come da titolo, sto sviluppando un nuovo template per un sito.. il problema è che in homepage non vedo gli articoli, ho creato un modello di pagina e l’ho assegnato alla pagina statica home.
Non vedo ne l’articolo di prova ne i miei di prova… vedo solo la sidebar e la scritta “Home”
<?php // Exit if accessed directly if ( !defined( 'ABSPATH' ) ) { exit; } /** * Sidebar/Content Template * Template Name: hometango * * @file home_page.php * @package Responsive * @author ty * @copyright ty * @license license.txt * @version Release: 1.0 * @filesource wp-content/themes/responsive/home_page.php * @link http://codex.wordpress.org/Theme_Development#Pages_.28page.php.29 * @since available since Release 1.0 */ ?> <?php get_header(); ?> <div id="content" class="grid-right col-620 fit"> <?php if ( have_posts() ) : ?> <?php while( have_posts() ) : the_post(); ?> <?php get_responsive_breadcrumb_lists(); ?> <?php responsive_entry_before(); ?> <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php responsive_entry_top(); ?> <h1 class="post-title"><?php the_title(); ?></h1> <?php if ( comments_open() ) : ?> <div class="post-meta"> <?php responsive_post_meta_data(); ?> <?php if ( comments_open() ) : ?> <span class="comments-link"> <span class="mdash">—</span> <?php comments_popup_link( __( 'No Comments ↓', 'responsive' ), __( '1 Comment ↓', 'responsive' ), __( '% Comments ↓', 'responsive' ) ); ?> </span> <?php endif; ?> </div><!-- end of .post-meta --> <?php endif; ?> <div class="post-entry"> <?php the_content( __( 'Read more ›', 'responsive' ) ); ?> <?php wp_link_pages( array( 'before' => '<div class="pagination">' . __( 'Pages:', 'responsive' ), 'after' => '</div>' ) ); ?> </div> <!-- end of .post-entry --> <?php if ( comments_open() ) : ?> <div class="post-data"> <?php the_tags( __( 'Tagged with:', 'responsive' ) . ' ', ', ', '<br />' ); ?> <?php the_category( __( 'Posted in %s', 'responsive' ) . ', ' ); ?> </div><!-- end of .post-data --> <?php endif; ?> <div class="post-edit"><?php edit_post_link( __( 'Edit', 'responsive' ) ); ?></div> <?php responsive_entry_bottom(); ?> </div><!-- end of #post-<?php the_ID(); ?> --> <?php responsive_entry_after(); ?> <?php responsive_comments_before(); ?> <?php comments_template( '', true ); ?> <?php responsive_comments_after(); ?> <?php endwhile; get_template_part( 'loop-nav', get_post_type() ); else : get_template_part( 'loop-no-posts', get_post_type() ); endif; ?> </div><!-- end of #content --> <?php get_sidebar( 'left' ); ?> <?php get_footer(); ?>Idee?
-