Risultati della ricerca per 'Wordpress insert script'
-
-
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); } }
-
hello I had a problem but I can’t figure out where it comes from, I had javascript codes on my site developed with wordpress that were used to make the “menu filter element” work, I already inserted it about three months ago and everything worked, today I realized that the menu no longer works when I click on the buttons it does not change the filters as if the javascript code were no longer there, the strange thing is that it works on chrome and on all other browsers the problem, but I repeat it worked before from all sides not how this sudden problem happened. Solutions? I am attaching the code
<script> filterSelection("all") function filterSelection(c) { var x, i; x = document.getElementsByClassName("filterDiv"); if (c == "all") c = ""; // Add the "show" class (display:block) to the filtered elements, and remove the "show" class from the elements that are not selected for (i = 0; i < x.length; i++) { w3RemoveClass(x[i], "show"); if (x[i].className.indexOf(c) > -1) w3AddClass(x[i], "show"); } } // Show filtered elements function w3AddClass(element, name) { var i, arr1, arr2; arr1 = element.className.split(" "); arr2 = name.split(" "); for (i = 0; i < arr2.length; i++) { if (arr1.indexOf(arr2[i]) == -1) { element.className += " " + arr2[i]; } } } // Hide elements that are not selected function w3RemoveClass(element, name) { var i, arr1, arr2; arr1 = element.className.split(" "); arr2 = name.split(" "); for (i = 0; i < arr2.length; i++) { while (arr1.indexOf(arr2[i]) > -1) { arr1.splice(arr1.indexOf(arr2[i]), 1); } } element.className = arr1.join(" "); } // Add active class to the current control button (highlight it) var btnContainer = document.getElementById("myBtnContainer"); var btns = btnContainer.getElementsByClassName("btn"); for (var i = 0; i < btns.length; i++) { btns[i].addEventListener("click", function() { var current = document.getElementsByClassName("active"); current[0].className = current[0].className.replace(" active", ""); this.className += " active"; }); } </script>La pagina su cui ho bisogno di aiuto: [devi essere connesso per vedere il link]
-
Salve,
ho realizzato da circa un anno una sito di ecommerce per un amico utilizzando workpress e woocommerce.
Il frontend va veloce e non da problemi, però il backend è sempre molto lento.
Parliamo di circa 4 secondi a pagina come caricamento, per il login ci vogliono almeno 10 secondi.Tra le varie attività effettuate, ho disattivato uno ad uno tutti i plugin per verificare che non fosse uno di questi a rallentarlo. Ho dovuto togliere il plugin heartbeat perchè mi inchiodava tutto, addirittura arrivavo a tempi di caricamento di oltre 2 minuti.
Ho installato query monitor e wp-sweep per monitorare e ottimizzare il db, ma con scari risultati.La cosa che mi fa un pò pensare, sono il numero di prodotti caricati, circa 4500, di cui molti variabili. Parliamo di un ecommerce di biciclette e componenti, quindi ci sono molte varianti.
Quello che ho notato è che dopo aver importato i prodotti la prima volta, dal vecchio sito tramite WP ALL IMPORT, ha iniziato a rallentare di brutto, poi un pò alla volta l’ho velocizzato fino a questo limite. I personalmente avevo consigliati di inserirli da capo dato che molti erano anche vecchi e fuori mercato, ma come quasi tutti avranno contratato, i clienti non vogliono fare mai niente se devono muovere loro un dito.
Come plugins ho installato solamente questi, tutti aggiornati all’ultima versione:
Contact Form Builder
Cookie Law Bar
Easy Facebook Likebox
Insert PHP
MailPoet 2
MailPoet WooCommerce Add-on
Opening Hours
Query Monitor
Slimstat Analytics
WooCommerce
WooCommerce Category Accordion.
WooCommerce Conditional Shipping and Payments
WooCommerce Facebook Like Share Button
WooCommerce PayPal Express Checkout Gateway
WooCommerce Shortcodes
WooCommerce Stripe Gateway
WooSwipe
WP Fastest Cache
WP-Sweep
YITH WooCommerce Quick ViewQuesti sono i dati tecnici del sito:
PHP
version 7.1.8
max_execution_time 300
memory_limit 4096M
Sovrascritto in fase di esecuzione da 2048M
upload_max_filesize 50M
post_max_size 55MDatabase
server version 5.6.36
client version 50012 (5.0.12)WordPress
version 4.8.2
WP_DEBUG false
WP_DEBUG_DISPLAY true
WP_DEBUG_LOG false
SCRIPT_DEBUG false
WP_CACHE true
CONCATENATE_SCRIPTS true
COMPRESS_SCRIPTS true
COMPRESS_CSS trueIl server è aruba, sul quale ho abilitato php 7.1 con le personalizzazioni per joomla che mi ha consigliato un amico, sinceramente non ho visto molti miglioramenti però.
Quindi mi rivolgo a voi, nella speranza di un aiuto.
-
Salve, sto utilizzando wordpress per creare un sito web. Ho avuto la necessità di creare un form per registrare dei partecipanti a un corso, in una tabella creata in un database su php my admin.
Ho creato un template dove ho incluso un file html. in questo file html ho creato il form sa visualizzare inserendo in “action” il file php che dovra essere eseguito all’invio dei dati tramite il tasto “invia”.
Il problema che riscontro è che se vado a schiacciare invia, una volta inseriti i dati, wordpress mi apre un’altra pagina con la seguente scritta “ops questa pagina non si trova”. In poche parole wordpress per quanto ho capito io non mi interpreta il codice php se non è inserito in un template.
qualcuno puo aiutarmi? ho provato tante soluzioni.
Ad esempio se creo un altro template in un file php e inserisco il codice php inserito nel file “form.php” e vado a creare una pagina wordpress aggiungengole il template appena creato, il codice inserito viene interpretato e funziona tutto correttamente perche basta associare l’url di questa pagina wordpress in “action” nel form.html e i dati vengono inseriti correttamente nella tabella del database. Solo che in questo modo appena si schiaccia il tasto invia si viene indirizzati a una pagina diversa. Mentre io desidero che appena si schiaccia il tasto invia compaiono le finestre popup con la conferma se l’utente è stato inserito o meno sempre nella stessa pagina.
TEMPLATE :
<?php
/* Template name: FORM INS DATI*/
get_header();
include “form.html”;
?>
FILE HTML(form.html)
<!DOCTYPE html>
<html lang=”it”>
<head>
<meta charset=”UTF-8″>
<link href=”style.css” rel=”stylesheet” type=”text/css”>
</head><body>
<form action=”form.php” method=”POST”>
Nome:<br>
<input type=”text” name=”nome”> <br>
Cognome:<br>
<input type=”text” name=”cognome”><br>
Data di nascita (yy-mm-dd): <br>
<input type=”text” name=”data di nascita”><br>
Luogo di nascita: <br>
<input type=”text” name=”luogo di nascita”><br>
Codice Fiscale: <br>
<input type=”text” name=”codice fiscale”><br>
<button type=”submit”>invia</button></form>
</body>
</html>FILE PHP (form.php)
<?phpinclude(‘conn_selez_db.php’);
$nome = $POST[‘nome’];
$cognome = $_POST[‘cognome’];
$nascita = $_POST[‘data_di_nascita’];
$città = $_POST[‘luogo_di_nascita’];
$cod_fiscale = $_POST[‘codice_fiscale’];$query = “INSERT INTO persone_inserite
(nome, cognome,data_di_nascita,luogo_di_nascita,codice_fiscale)
VALUES
(‘$nome’,’$cognome’, ‘$nascita’, ‘$città’, ‘$cod_fiscale’)”;if (mysqli_query($conn, $query)) {
print “<script type=’text/javascript’>alert(‘Utente inserito’)</script>”;} else {
$errore = mysqli_error($conn);
print “<script type=’text/javascript’>alert(‘Errore: $errore’)</script>”;
}?>
-
Ciao ragazzi, sto seguendo questo tutorial [modificato perché informazione promozionale] per aggiungere una sezione portfolio a TwentyFourteen, ma ho alcuni dubbi sui file da creare.
Le funzioni createCustomPostType, insertScripts e portfolioShortcode le vado a inserire in un file php che sarà il plugin di cui faccio l’upload in wordpress?
Il seguente codice dove lo devo mettere invece?
Grazie infinite!!
-