Как использовать собственное значение сеанса в Wordpress?
-
-
Не могли бы вы прояснить ** специфический для WordPress ** характер вашего вопроса?Can you please clarify the **WordPress-specific** nature of your question?
- 0
- 2011-11-01
- Chip Bennett
-
В чем особенность WordPress?What is WordPress-specific nature ?
- 0
- 2011-11-01
- 夏期劇場
-
«* Что такое специфический для WordPress характер? *» - это означает,как ваш вопрос связан с ** WordPress **?"*What is WordPress-specific nature ?*" - that means, in what way is your question related to **WordPress**?
- 1
- 2011-11-01
- Chip Bennett
-
Каким образом мой вопрос связан с WordPress?Итак,прочтите мой вопрос,и вы поймете,что имеет отношение к Wordpress.In what way is my question related to WordPress?? So, please read my question and you will understand what is relating to Wordpress.
- 0
- 2011-11-01
- 夏期劇場
-
Я вижу вопрос о ** сеансовых файлах cookie **.Я не вижу ничего специфического для ** WordPress **,поэтому попросил разъяснений.I see a question about **session cookies**. I don't see anything specific to **WordPress**, which is why I asked for clarification.
- 1
- 2011-11-01
- Chip Bennett
-
Относятся ли ** сеанс ** или ** файлы cookie ** НЕ к Wordpress? (или) WordPress не использует ни один из них?Does **session** or **cookies** `NOT` relating to Wordpress? (or) Does WordPress not using any of them ?
- 0
- 2011-11-01
- 夏期劇場
-
Нет. * Сеансы * и * файлы cookie * - это общие темы Интернета/веб-браузера,к которым WordPress полностью не зависит.No. *Sessions* and *cookies* are general internet/web-browser topics toward which WordPress is entirely agnostic.
- 2
- 2011-11-01
- Chip Bennett
-
@Chip Bennett,итак .. у WordPress нет проблем (связанных) с сессиями/куки???Никто не должен спрашивать об этих проблемах для Wordpress??????А ...?Поэтому я думаю,что у вас недостаточно опыта работы с WordPress для решения подобных проблем.@Chip Bennett, So.. does WordPress is not having any problems (relating) with Sessions/Cookies ??? No one should ask about these problem for Wordpress ?????? Huh...? So I think you don't have enough experience with WordPress for these kinds of problems.
- 0
- 2011-11-01
- 夏期劇場
-
Я бы рекомендовал [прочитать часто задаваемые вопросы о WordPress StackExchange] (http://wordpress.stackexchange.com/faq#questions).I would recommend [reading the WordPress StackExchange FAQ regarding scope of questions asked](http://wordpress.stackexchange.com/faq#questions).
- 0
- 2011-11-01
- Chip Bennett
-
Да,сеансы и файлы cookie - это общие темы,но это больше вопрос о том,как заставить сеансы работать с WordPress ... и,поскольку сам WP не использует сеансы,здесь это актуально.Yes, sessions and cookies are general topics, but this is more a question of making sessions work with WordPress ... and since WP itself doesn't use sessions, it's relevant here.
- 5
- 2011-11-01
- EAMann
-
3 ответ
- голосов
-
- 2012-11-15
РЕДАКТИРОВАТЬ: "НИЖЕ НИЖЕ ПЛАГИН БОЛЬШЕ НЕ ДОСТУПЕН,ПОЖАЛУЙСТА,ИСПОЛЬЗУЙТЕ ЭТОТ ПЛАГИН ВМЕСТО: Плагин сеанса WordPress "
Существует хороший плагин WordPress,адаптированный из класса CodeIgniter Session: WP Sessions Плагин .
Когда вы активируете плагин,вы можете начать использовать объект
$session
из любого места в вашей теме (объект$session
,если он является глобальным). Например,чтобы использовать объект $ session в файлеheader.php
,просто добавьте этот код:global $session;
Если вы разработчик плагина и хотите адаптировать этот плагин к своему,вы также можете найти в пакете отдельную версию . Документация по плагину дает разработчикам плагинов дополнительную информацию о том,как адаптироваться к вашему проекту.
Вот несколько полезных функций для разработчиков тем и плагинов.
Вы можете добавить данные сеанса следующим образом:
// One value $session->set_userdata( 'username', 'john' ); // Passing array $array = array( 'username' => 'john', 'email' => '[email protected]' ); $session->set_userdata( $array );
Чтобы получить данные сеанса:
$session->userdata( 'username' );
Чтобы получить все данные сеанса:
$session->all_userdata(); // returns array
Чтобы удалить один элемент из сеанса:
$session->unset_userdata( 'username' );
Чтобы удалить другие элементы из сеанса:
$array = array( 'username' => '', 'email' => '' ); $session->unset_userdata( $array );
Вы также можете использовать Flashdata ,которые представляют собой данные сеанса,которые будут доступны только для следующего запроса сервера,а затем автоматически удаляются. Они могут быть очень полезны,когда вы используете их для информационных или статусных сообщений (например,«Продукт удален»).
// Add Flashdata $session->set_flashdata( 'item', 'value' ); // Retrieve Flashdata $session->flashdata( 'item' ); // Preserving flashdata // (if you need to preserve flashdata through an additional request, // you can use this function): $session->keep_flashdata( 'item' );
Чтобы уничтожить сеанс:
$session->sess_destroy();
Плагин также поддерживает короткие коды . Вы можете распечатать любые данные сеанса в своих сообщениях или страницах:
[session key="username"]
Чтобы добраться до второй клавиши:
[session key="user_data" sec_key="display_name"]
Надеюсь,это кому-то поможет.
EDIT: "THE PLUGIN BELOW ISN'T AVAILABLE ANYMORE, SO PLEASE USE THAT PLUGIN INSTEAD: WordPress Session Plugin"
There is a good WordPress Plugin adapted from CodeIgniter Session class: WP Sessions Plugin.
When you activate the plugin, you can start to use
$session
object from anywhere in your theme ($session
object as long as global). For instance, to use $session object intoheader.php
file, simply add this code:global $session;
If you are a plugin developer and you want to adapt this plugin with yours, you can find standalone version in the package as well. Documentation of the plugin gives more information for plugin developers about how to adapt to your project.
Here is some useful functions for both theme and plugin developers.
You can add session data like this:
// One value $session->set_userdata( 'username', 'john' ); // Passing array $array = array( 'username' => 'john', 'email' => '[email protected]' ); $session->set_userdata( $array );
To retrieve session data:
$session->userdata( 'username' );
To get all session data:
$session->all_userdata(); // returns array
To remove one item from session:
$session->unset_userdata( 'username' );
To remove more items from session:
$array = array( 'username' => '', 'email' => '' ); $session->unset_userdata( $array );
You can also use Flashdata which is session data that will only be available for the next server request, are then automatically cleared. These can be very useful when you use them for informational or status messages (e.g. “Product has been deleted”).
// Add Flashdata $session->set_flashdata( 'item', 'value' ); // Retrieve Flashdata $session->flashdata( 'item' ); // Preserving flashdata // (if you need to preserve flashdata through an additional request, // you can use this function): $session->keep_flashdata( 'item' );
To destroy session:
$session->sess_destroy();
The plugin also supports shortcodes. You can print any session data on your posts or pages:
[session key="username"]
To reach second key:
[session key="user_data" sec_key="display_name"]
I hope this helps for someone.
-
Плагина WP Sessions нет!??WP Sessions Plugin is not there!??
- 1
- 2013-12-26
- Kiren Siva
-
Да,вы захотите использовать это: http://wordpress.org/plugins/wp-session-manager/(это намного лучше и стабильнее).Yes, you'll want to use that one: http://wordpress.org/plugins/wp-session-manager/ (This is much better and stabile).
- 1
- 2013-12-28
- beytarovski
-
Другой плагин https://wordpress.org/plugins/wp-native-php-sessions/Another plugin https://wordpress.org/plugins/wp-native-php-sessions/
- 0
- 2016-12-05
- nu everest
-
Почему мы не можем использовать функциональность сеанса PHP по умолчанию в WordPress?Это решение создает зависимость от плагина.Why can't we use PHP default session functionality in WordPress? This solution creates dependency on a plugin.
- 0
- 2017-10-16
- Amrit
-
@Amritpal,потому что не все серверы PHP/Apache поддерживают сеансы.Если вы хотите создать общедоступное программное обеспечение/плагин,например WP,вы должны подумать об этом.Если это личный проект,где вы можете редактировать сервер,это не проблема.@Amritpal because not all PHP/Apache servers support sessions. If you want to build a public software/plugin like WP, you have to think about it. If its personal project where you are able to edit server, that's not a problem.
- 0
- 2017-10-16
- beytarovski
-
- 2011-11-01
WordPress не использует сеансы,поэтому переменные сеанса не работают.
На самом деле,если определенные переменные определены, WordPress фактически уничтожит
$_SESSION
,чтобы не иметь состояния .Но если вы действительно хотите использовать сеансы,попробуйте добавить
session_start()
в начало файлаwp-config.php
.Это будет (надеюсь) запускать сеансы при каждом запуске WP,поэтому вы сможете устанавливать и читать свои переменные$_SESSION
в другом месте системы.WordPress doesn't use sessions, that's why your session variables aren't working.
As a matter of fact, if certain variables are defined, WordPress will actually destroy
$_SESSION
to keep itself stateless.But if you really want to use sessions, try adding
session_start()
at the beginning of yourwp-config.php
file. This will (hopefully) start sessions whenever WP starts up, so you'll then be able to set and read your$_SESSION
variables elsewhere in the system.-
Я видел,что Wordpress использует файлы cookie для хранения некоторых данных для входа.Когда я напечатал массив $ _COOKIE,я мог увидеть некоторые данные.Я хотел бы установить эти данные вручную.Подробнее здесь: http://stackoverflow.com/questions/21595900/how-to-bypass-wordpress-loginI saw that Wordpress uses Cookies to store some login data. When i printed $_COOKIE array, i could see some data. I would like to set that data manually. More info here: http://stackoverflow.com/questions/21595900/how-to-bypass-wordpress-login
- 0
- 2014-02-06
- shasi kanth
-
Кроме того,рекомендуется ли изменить файл wp-config.php,чтобы начать сеанс?Если мы обновим Wordpress позже,обновится ли файл wp-config.php?Also, is it recommended to modify the wp-config.php file, to start session ? If we update Wordpress later, does the wp-config.php file get updated too?
- 1
- 2014-05-29
- shasi kanth
-
Учебник,который обсуждает это подробнее http://silvermapleweb.com/using-the-php-session-in-wordpress/Tutorial that discusses this more http://silvermapleweb.com/using-the-php-session-in-wordpress/
- 0
- 2016-12-05
- nu everest
-
@shasikanth нет,`wp-config.php` не затрагивается в обновлениях.@shasikanth no, `wp-cofnig.php` is not touched on updates.
- 1
- 2018-03-08
- T.Todua
-
@shasikanth `wp-config.php` не будет обновляться,иначе вы можете потерять соединение с БД и другие параметры,которые вы установили вручную.@shasikanth `wp-config.php` will not get updated, otherwise you could lose you DB connection and other parameters you have manually set.
- 1
- 2019-08-14
- Erenor Paz
-
-
Зачем вам начинать сеанс дважды?Why would you start the session twice?
- 11
- 2012-11-16
- kaiser
-
Как я могу использовать собственное (настраиваемое) значение сеанса в Wordpress?
Например:
$_SESSION['myname']="4lvin"
Я уже вставил
session_start()
на все страницы,которые мне нужны,как показано ниже.Но не работает во всем мире.
Просто работаю над собственной страницей.
Его нельзя вызвать глобально с других страниц (с использованием той же логики).