Risultati della ricerca per 'Modifica header wordpress'

Stai vedendo 15 risultati - da 1 a 15 (di 58 totali)
    • ciao a tutti, ho questo problema con wordpress e woocommerce (tema storefront). Ho creato uno shop online e la homepage è la pagina shop. Le altre pagine dello shop vengono gestite automaticamente da woocomerce in base alle categorie prodotto.

      Ora ho creato con smartslider3 uno slider per l’homepage inserendolo come widget sotto header, sempre sotto l’header ho inserito un intro di testo.

      Vorrei che lo slider e il testo appaiano solo in homepage ma non riesco a risolvere.

      Ho provato tramite plugin widget option ma se escludo le pagine su cui non voglio sia visibile lo slider sparisce comunque da tutte le pagine anche se lascio non flaggata home/front. Ho provato a fare anche l’inverso flaggando “mostra solo su alcune pagine” lasciando flaggata solo la home ma lo slider non si vede lo stesso.

      Ho fatto la stessa cosa per il widget barra laterale e sono riuscito a nasconderlo, ma non ci riesco per lo slider probabilmente perchè le pagine di woocommerce le vede sempre come homepage?

      ho letto anche che suggerite in alcuni casi di modificare il file header.php ma ho paura che non funzioni proprio per questo problema delle pagine.

      qualcuno riesce a darmi suggerimenti?

      • Questo topic è stato modificato 2 mesi, 3 settimane fa da spadajoker.

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

    • Salve, il sito che gestisco è visibile in frontend ma non risulta accessibili il backend, il warning è:

      Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘wp_admin_headers’ not found or invalid function name in /home/svlosandont/public_html/wordpress/wp-includes/class-wp-hook.php on line 324

      Non sono riuscita a capire, stante la riga interessata (in grassetto), quale modifica devo effettuare per correggere l’errore.

      // Avoid the array_slice() if possible.
      if ( 0 === $the_['accepted_args'] ) {
      $value = call_user_func($the_['function']);
      } elseif ( $the_['accepted_args'] >= $num_args ) {
      $value = call_user_func_array( $the_['function'], $args );
      } else {
      $value = call_user_func_array( $the_['function'], array_slice( $args, 0, $the_['accepted_args'] ) );
      }
      }

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

    Forum: Aspetto = Temi
    Come il topic: Tema saltato/modificato
    • Sto abbastanza impanicato. Ero sul backend di wordpress e ho notato entrando su Yootheme (plugin che gestisce l’aspetto grafico) che il tema, gli stili non erano più i soliti. All’inizio sembrava che il problema fosse solo su backend. Caricando Yootheme per una frazione di secondo vedevo il tema corretto e i colori e le formattazioni testo esatte. Il tema poi switchava a un bianco standard, come se fosse un tema flat appena selezionato. Il problema era solo su backend, ho fatto subito una verifica da altri dispositivi e il sito online era ancora ok. Pochi minuti dopo però quel tema che visualizzavo su Yootheme è effettivamente diventato il tema del mio sito, andando a modificare completamente gli stili e rompendo anche header e footer su tutte le pagine. Ora il sito è completamente da rifare.

      Vorrei sapere se c’è un modo per recuperare un backup precedente al problema tramite wordpress o qualche plugin che ho già installato.

      Grazie

      Lascia in allegato stato salute del sito:

      [rimosso da chi modera]

      • Questo topic è stato modificato 9 mesi, 1 settimana fa da Gloria Liuni. Motivo: Rimosso Stato di Salute del sito per questioni di sicurezza

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

    • 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 ) ); } }

    • ho creato un sito wordpress locale su uno stack wamp, l’ho trasferito su uno stack lamp. il sito si apre ma se provo ad aprire una qualsiasi pagina,dal link in header, appare l’errore “The requested URL was not found on this server.”. Il link è tipo http://localhost/blog/foto/” “Se provo a modificare una pagina appare l’errore “Aggiornamento fallito. La risposta non è una risposta JSON valida.”

      il file .htaccess è fatto così;

      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.

      RewriteEngine On RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase /blog/ RewriteRule ^index.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /blog/index.php [L] END WordPress

      ho già provato a ricreare i permalink

    • 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);
          }
      }

    Ecco, quale plugin usi? Ce ne sono parecchi. Su un sito di prova me ne sono trovati 2, installati tempo fa.

    ** Woody code snippets
    https://wordpress.org/plugins/insert-php/

    *** WPCode Lite
    https://wordpress.org/plugins/insert-headers-and-footers/

    Entrambi fanno più o meno le stesse cose. Entrambi registrano gli snippets nel database.

    Per risolvere il problema potresti installare un plugin diverso da quello che hai dovuto rimuovere a causa dell’errore nel frammento di codice.

    Si potrebbe anche cancellare / modificare lo snippet sbagliato che è registrato nel database ma è una operazione un po’ delicata e sarebbe meglio fare prima un backup del sito. La tabella usata dai due plugin che ho installato io è la “options” del database, quella solita. Con phpmyadmin (o applicazione equivalente) si trova la riga interessata e si fa la correzione.

    Chi ha creato la discussione branco86

    (@branco86)

    Ho due plugin che ho trovato preinstallati. I plugin sono i seguenti:

    SiteGround Optimizer

    Questo plugin collegherà la tua applicazione WordPress con tutte le ottimizzazioni prestazionali fornite da SiteGround

    SiteGround Security

    SiteGround Security è la soluzione di sicurezza tutto-in-uno per il tuo sito WordPress. Proteggi l’accesso e limita i tentativi di login. Controlla l’attività degli utenti. Blocca le cartelle di sistema e molto altro.

    Credi che uno di questi mi stia dando quel problema?

    Tramite un tema ho accesso a diverse funzionalità pro di elementor, tra cui la modifica dell’header.

    ciao @cerosso ,

    Il sito va bene mi sembra ed è anche carino.

    Aggiungere una singola riga di intestazione può essere complicato per l’hosting, una singola riga per un solo sito ho qualche dubbio che sia possibile, sicuramente laborioso.

    E’ più facile aggiungere righe di intestazione da wordpress. Occorre una certa conoscenza della programmazione e dell’ambiente wordpress. Se hai intenzione di cimentarti, oltre a sapere con esattezza qual è la riga di intestazione da inserire nell’ header, bisognerebbe creare un piccolo plugin personale e, mediante quello, sfruttare l’hook:

    apply_filters( 'wp_headers', string[] $headers, WP $wp )

    documentato qui: https://developer.wordpress.org/reference/classes/wp/send_headers/

    Nella realtà saranno pochissime le righe di codice da scrivere, tutto compreso. Ci sono plugin già fatti che permettono di inserire codice ma non ho idea di come possano comportarsi con l’invio di righe di intestazione.

    Discorso cache. Il tuo sito ha un tempo di risposta server di circa mezzo secondo e, secondo gli standard wordpress andrebbe già bene così. Si può migliorare e arrivare ad un tempo di risposta server di un decimo di secondo o minore con un plugin di cache. Avviso: il plugin di cache va gestito cioè ogni volta che fai una modifica al sito la cache va cancellata (purgata) in modo che da venire ricostruita tenendo conto delle modifiche.

    Un plugin di cache che trovo interessante, in questo periodo, è ” Breeze – WordPress Cache Plugin “. E’ scritto direttamente da una CDN, Cloudways e vi si integra nativamente. Non esegue la cache degli oggetti persistenti (query del db) ma anche quella, quando c’è, va poi gestita ed è meglio applicarla solo se il sito è ancora lento con la cache semplice.

    Più mantieni snello il sito poi meglio ti trovi, a mio avviso.

    Spero di essere stato passabilmente chiaro.

    Forum: Varie ed eventuali
    Come il topic: indirizzo sbagliato
    • Buongiorno a tutti,
      il mio problema è il seguente, stavo realizzando il sito personale, premetto che è il primo che realizzo quindi mi ritengo un principiante, ho commesso un errore “banale”.
      ho installato wordpress e template in locale con mamp, oggi mi è venuta la pazza idea di modificare dal pannello di controllo di WP l’indirizzo del mio sito da http://localhost/ l’ho sostituito con http://www.nomesito.wordpress.com, ora non riesco più ad accedere nel al pannello di controllo, riesco solo ad entrare nella home page del sito dove c’è solo il footer e l’header della pagina e c’è scritto pagina non trovata.
      Aiutatemi per favore è un mese che ci stò lavorando.
      grazie mille

    Moderator Gloria Liuni

    (@glorialchemica)

    Ciao @andrea0691,
    la modifica del tema richiede di seguire delle regole ben precise, prima fra tutti creare un Child Theme.
    Qui trovi la documentazione sui temi di WordPress se vuoi approfondire.

    Se ho capito al tua richiesta momentaneamente vorresti una pagina di introduzione (Welcome page) per poi “far entrare” gli utenti nel sito vero e proprio.

    Questo lo puoi fare in questo modo:

    • Crei una nuova pagina che chiami ad esempio Home temporanea.
    • Scrivi il contenuto che vuoi.
    • Sotto Impostazioni > Lettura > La Homepage mostra > Una pagina statica imposti questa nuova pagina come Homepage
    • Aggiungi il codice CSS che ti ho indicato sopra in Aspetto > Personalizza > CSS Aggiuntivo. In questo modo Header e footer del sito verranno nascosti e si vedrà solo il contenuto

    Prova e facci sapere.

    Ciao @crippysketch ,
    puoi ottenere quel risultato modificando i file header.php e footer.php secondo questa logica:
    – verificare se la pagina visualizzata appartiene ad un archivio delle categoria che ti interessa usando questa funzione;
    – utilizzando questa funzione puoi scegliere di non stampare il contenuto HTML che non ti serve – qui puoi trovare degli esempi pratici;

    Prima di fare queste modifiche assicurati di lavorare su un tema child e di utilizzare le funzioni indicate per rimuovere solo il contenuto HTML.

    • Questa risposta è stata modificata 3 anni, 1 mese fa da Giovanni Invernizzi. Motivo: Attivazione notifiche mail

    Ciao @steve92 ,
    Avevo capito. 🙂
    Le REST API mi sembrano un argomento importante, piuttosto complicato e abbastanza misconosciuto.
    Per WP la documentazione è scarsa quindi se vuoi approfondire ti saranno necessarie delle prove, temo.

    Le REST API non sono una prerogativa esclusiva di WP. Ad esempio:
    – cPanel pannello ammette l’uso di REST API
    – Plesk panel ammette l’uso di REST API
    – Hestia panel (hestiacp) lo stesso. Senza l’uso dell’interfaccia web e da remoto si possono creare spazi web, installarci WordPress, sospendere un sito e varie altre cose.

    WP idem. Con una chiamata http(s) si possono avere molte informazioni sul sito e anche modificarlo con username e password.

    Prova a fare (da Firefox si legge meglio la risposta) https://<sito>/wp-json/.

    Uscirà una risposta in formato json con un sacco di informazioni sul sito.

    Per modificare il sito non si possono inserire username e password nella chiamata https quindi ci sono altre strade:

    usare il comando curl tipico degli ambienti linux. Se sei su un desktop / server linux usi curl. Username e Password dovrebbero essere inseriti prima della stringa https

    Se sei in Window dovrebbe potersi fare dal Prompt dei comandi di Window usando un file batch

    La doumentazione di WP prevede l’uso del javascript che faccia una chiamata ajax. La password va inserita nelle headers della chiamata.
    https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/
    Se sia proprio la password indicata dalla tua immagine quella giusta da usare bisognerebbe provare.

    Se ti interessa e approfondisci l’argomento metti qui dei post che dicono quel che succede. 🙂

    Un saluto

    Moderator Gloria Liuni

    (@glorialchemica)

    Ciao @algonatural2,
    potreste farlo andando a modificare i file php di WordPress e un po’ di CSS personalizzato.
    Serve un po’ di dimestichezza con il codice del tema.

    Provate a chiedere supporto agli sviluppatori del tema. Alcuni temi permettono di avere più di un Header nel sito a seconda di determinate condizioni (per es. una categoria specifica).

    Un saluto

    • 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]

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