Come memorizzare e ricevere variabili nelle sessioni WP?
-
-
Se la rispostati è stata utile,valuta lapossibilità di accettarla.Vedi »[Cosa devofare quando qualcuno risponde allamia domanda?] (Http://wordpress.stackexchange.com/help/someone-answers)«e/o »[Perché votare èimportante?] (Http://wordpress.stackexchange.com/help/why-vote) «,ulterioriinformazioni sulmodello [wordpress.se] sono disponibili su [help].If the answer was helpful to you, then consider accepting it. See »[What should I do when someone answers my question?](http://wordpress.stackexchange.com/help/someone-answers)« and/or »[Why is voting important?](http://wordpress.stackexchange.com/help/why-vote)«, more information about the [wordpress.se] model is available at the [help].
- 0
- 2015-04-29
- Nicolai
-
Penso cheil link sottostanteti aiuterà.https://wordpress.stackexchange.com/questions/105453/getting-headers-already-sent-error-from-pluginI think below link will help you. https://wordpress.stackexchange.com/questions/105453/getting-headers-already-sent-error-from-plugin
- 0
- 2018-10-04
- Vivekanand Saraswati
-
6 risposta
- voti
-
- 2013-10-09
Le sessioninon sono abilitatein wordpressperimpostazionepredefinita,se desideri attivare le sessioniphp aggiungilo all'inizio deltuo
functions.php
:if (!session_id()) { session_start(); }
Orapuoi utilizzare
$_SESSION['your-var'] = 'your-value';
perimpostare una variabile di sessione. Dai un'occhiata alla documentazione PHP sulle sessioni .
Aggiorna:
C'era una seconda risposta,che,nellamiamente,aveva anche un valore:purtroppo è stataeliminata,sto riaggiungendo leinformazioni qui. La risposta si riferiva a WP Session Manager ,unplugin scritto da @eamann come soluzione alternativa .
Ho letto alcune cose sulplugin,manon l'homai usatoperché -fino ad ora -mi attengo alle sessioni PHP -non homai avutoilproblema dinonpoterle usare. Questa è una dichiarazione/commento dallo stesso autore delplugin ho scoperto alcunipossibili vantaggi.Sessions aren't enabled in wordpress by default, if you want to activate php sessions add this at the beginning of your
functions.php
:if (!session_id()) { session_start(); }
You now can use
$_SESSION['your-var'] = 'your-value';
to set a session variable. Take a look at the PHP documentation on sessions.
Update:
There was a second answer, which, in my mind, had a value too - unfortunately it got deleted, I'm re-adding the information here. The answer was referring to WP Session Manager a plugin written by @eamann as a alternative solution.
I read some things about the plugin, but never used it because - so far - I'm sticking with PHP sessions - never had the problem that I couldn't use them. This is a statement/comment by the plugin author himself I found about some possible advantages.-
posso chiederti di dare un'occhiata a una domanda relativa a un campopersonalizzato qui: https://wordpress.stackexchange.com/questions/265852/set-and-unset-the-custom-field-value?may I ask you to have a look at a custom field related question here : https://wordpress.stackexchange.com/questions/265852/set-and-unset-the-custom-field-value ?
- 0
- 2017-05-04
- Istiaque Ahmed
-
- 2017-06-14
aggiungilo aneltuofunctions.php
<?php function tatwerat_startSession() { if(!session_id()) { session_start(); } } add_action('init', 'tatwerat_startSession', 1);
add this at in your functions.php
<?php function tatwerat_startSession() { if(!session_id()) { session_start(); } } add_action('init', 'tatwerat_startSession', 1);
-
- 2018-08-05
Spiegherò comeimpostare una sessione dinome utente conilplug-in Sessioni PHPnativeper WordPress .Puoi applicare questa logica altuoproblema.
Aggiungilo altuofilefunctions.php
if (!session_id()) { session_start(); } if ( isset( $_POST['wp-submit'] ) ){ $_SESSION['username']=$_POST['log']; }
$ _POST ['log']fa riferimento alla casella diimmissione delnome utente dalmodulo di accesso di wordpress.Quando un utenteeffettuail login,ilnome utente vienememorizzatoin $ _SESSION ['username']. Neltuo caso,cambierai "log" coni nomi delle variabili delmodulo che hai "car_color".
Fai riferimento alnome utentepiù avantiin qualche altrofilephpmediante
$username=$_SESSION['username'];
I will explain how to set a username session with the Native PHP Sessions for WordPress plugin. You can apply this logic to your problem.
Add this to your functions.php file
if (!session_id()) { session_start(); } if ( isset( $_POST['wp-submit'] ) ){ $_SESSION['username']=$_POST['log']; }
$_POST['log'] is referencing the username input box from the wordpress login form. When a user logs in, the username is stored to $_SESSION['username']. In your case, you would change 'log' to the form variable names you have 'car_color'.
Reference the username later in some other php file by
$username=$_SESSION['username'];
-
- 2016-08-12
Forsenon ci sono sessioni usualiin Wordpress ... comunque,Wordpress conosceil concetto di utenti.Puoigestire leinformazioni relative a utenti specifici con lefunzioni
add_user_meta
,update_user_meta
,get_user_meta
edelete_user_meta
.Se haibisogno delleinformazioni salvatein questomodoin JavaScript,puoi scrivere unpiccolo script PHP che vomiti ciò di cui haibisognoe chiamarlo con Ajax.
Maybe there are no usual sessions in Wordpress ... anyway, Wordpress knows the concept of users. You can manage information related to specific users with the the functions
add_user_meta
,update_user_meta
,get_user_meta
, anddelete_user_meta
.If you need the information saved in this way in JavaScript, you can write a little PHP script that vomits what you need, and call it with Ajax.
-
Questo è utile solo se l'utente haeffettuato l'accesso.This is only good if the user is logged in.
- 2
- 2016-11-10
- Tim Hallman
-
- 2016-12-05
Nellapagina PHP che riceve la richiesta AJAX,imposta $ _SESSIONin questomodo.
$car_color = <user selected form input data>; $_SESSION['car_color'] = $car_color;
Accedi alla variabile $ _SESSION
if(isset($_SESSION['car_color'])) { $value = $_SESSION['car_color']; } else { $value = 'Please select a car color.'; }
Questotutorial forniscemaggiori dettagli sulla corretta configurazioneedisposizione delle sessioni.
On the PHP page that receives the AJAX request, set $_SESSION like this.
$car_color = <user selected form input data>; $_SESSION['car_color'] = $car_color;
Access the $_SESSION variable
if(isset($_SESSION['car_color'])) { $value = $_SESSION['car_color']; } else { $value = 'Please select a car color.'; }
This tutorial goes into more detail about proper setup and disposal of sessions.
-
- 2020-08-31
Deviprima avviare una sessionein WordPressmanonpuoi avviare una sessionein WordPressproprio così.
Prima diiniziare le sessioni,ènecessario verificare se qualcheplugin ha avviato la sessioneprimaperchépotresti avereproblemiimprevisti. Quindi haibisogno di unpiccolo algoritmoper questo.
if (version_compare(PHP_VERSION, '7.0.0', '>=')) { if(function_exists('session_status') && session_status() == PHP_SESSION_NONE) { session_start(apply_filters( 'cf_geoplugin_php7_session_options', array( 'cache_limiter' => 'private_no_expire', 'read_and_close' => false ))); } } else if (version_compare(PHP_VERSION, '5.4.0', '>=') && version_compare(PHP_VERSION, '7.0.0', '<')) { if (function_exists('session_status') && session_status() == PHP_SESSION_NONE) { session_cache_limiter('private_no_expire'); session_start(); } } else { if(session_id() == '') { if(version_compare(PHP_VERSION, '4.0.0', '>=')){ session_cache_limiter('private_no_expire'); } session_start(); } }
Ho anche aggiuntoil supportoper le versioniprecedenti di PHP qui.
You must first start a session in WordPress but you can't start a session in WordPress just like that.
Before starting sessions, you need to check if some plugin started the session earlier because you may have unexpected problems. So you need a little algorithm for that.
if (version_compare(PHP_VERSION, '7.0.0', '>=')) { if(function_exists('session_status') && session_status() == PHP_SESSION_NONE) { session_start(apply_filters( 'cf_geoplugin_php7_session_options', array( 'cache_limiter' => 'private_no_expire', 'read_and_close' => false ))); } } else if (version_compare(PHP_VERSION, '5.4.0', '>=') && version_compare(PHP_VERSION, '7.0.0', '<')) { if (function_exists('session_status') && session_status() == PHP_SESSION_NONE) { session_cache_limiter('private_no_expire'); session_start(); } } else { if(session_id() == '') { if(version_compare(PHP_VERSION, '4.0.0', '>=')){ session_cache_limiter('private_no_expire'); } session_start(); } }
I've also added support for older PHP versions here.
Ho unmodulo con alcune caselle di controlloe caselle di selezionee mostra ciò che l'utente vuoletramite una chiamata ajax. Ilproblema è che quando l'utentefa clic sull'elementoe viene visualizzata lapagina dei dettaglie quindi decide ditornare allapaginaprecedente,devefare clice selezionarenuovamente la sua sceltaprecedente.
Vorreifarein modo che WPmemorizzitutte le opzioninella sessione quando sifa clic sulpulsante dellapagina dei dettaglie salvi leinformazionieffettivenella sessionee poi quando visita dinuovo lapaginai valori verranno controllatinelle sessionie impostati sene vengonotrovati.
Potrebbeesserefattoin WP?
Se sì,come?
Semplifichiamotroppoe diciamo che abbiamo qualcosa di similenellanostraforma:
Non utilizzoilpulsante diinvionelmiomodulo,ègestitotramite AJAX al cambio diinput.
Enei miei risultati otteneretramite ajax ho un collegamento allapagina dei dettagli:
Qualcheidea su comepossomemorizzarei miei valoriin Sessione chiamarli quando rivisito/ricarico/ilpulsante Indietronelbrowser?
Devoesserein grado di leggereilmaterialememorizzatonella sessionee utilizzarlotramite? Javascript?e attivare lamiafunzione di ricercatramite ajax chefunzionagiàbene.
Ho solobisogno dimemorizzare (probabilmenteprima di andare a $ linkin href delpulsanteper dettaglie leggeree inviare variabili di sessione (seesistono).