template post_title page info blog php wordpress codeigniter content-management-system

post_title - wordpress php get post title by id



Wordpress en el código Igniter (2)

Aquí hay una explicación de cómo WordPress desata las variables de sesión y una posible solución. Desafortunadamente, parece requerir la modificación de los archivos principales, no parece haber ningún wp_unregister_GLOBALS en wp_unregister_GLOBALS que pueda ayudar.

Ok ... he buscado y nada cubre esto ...

He seguido esta guía: http://philpalmieri.com/2009/06/codeigniter-and-wordpress-play-well-together/

Que básicamente dice, para instalar WordPress, ponerlo en funcionamiento, luego reemplazar el archivo index.php con encendedores de código, y luego en la parte inferior del archivo justo antes de iniciar Code Igniter, requiere el archivo wp-load de Word Press.

Funciona bien.

Sin embargo, ahora, mi $ _SESSION no funciona. He configurado el encendedor de código para usar las sesiones de la base de datos, y está registrando los valores de la sesión, pero todavía no funciona. No puedo iniciar sesión en el panel de administración de mi sistema Code Igniter. No puedo hacer mucho de lo que requiere sesiones porque las sesiones no funcionan. LOL.

¿Alguna idea, chicos? No tengo ni idea de cómo solucionar esto.


Hice lo siguiente para que esto funcione (tengo una aplicación Code Igniter en un directorio aparte dentro de un directorio de Wordpress) - lo que obviamente no me gusta es que tuve que modificar un archivo core dentro de Wordpress.

Primero, agregué mi nombre de cookie de Code Igniter a la matriz $ no_unset en wp-includes / load.php. En mi caso fue ci_session:

$no_unset = array( ''GLOBALS'', ''_GET'', ''_POST'', ''_COOKIE'', ''_REQUEST'', ''_SERVER'', ''_ENV'', ''_FILES'', ''table_prefix'',''ci_session'' );

En segundo lugar, me di cuenta de que la función add_magic_quotes de Wordpress estaba destruyendo el global $ _COOKIE. Esto provocaba que CodeIgniter volviera a crear la cookie en cada página cargada o redirigida y, por lo tanto, rompía cualquier continuidad. Entonces, comenté esta línea en wp-includes.load.php (alrededor de la línea 545)

//$_COOKIE = add_magic_quotes( $_COOKIE );

A continuación, para mantener esta función intacta para todas las demás cookies relacionadas con Wordpress, creé una función array_walk para recorrer el $ _COOKIE global y aplicar add_magic_quotes a todas las cookies excepto la mía dentro de la función wp-includes / load.php

/** * Applies Magic Quotes to the $_COOKIE global but ignores Codeigniter''s Cookie * @param string $value Value passed by array_walk function * @param string $key Key passed by array_walk function */ function ci_ignore_magic_quotes($value,$key) { if($key != "ci_session") { stripslashes_deep($value); } } //Put this line in place of the commented out line above... array_walk($_COOKIE, ''ci_ignore_magic_quotes'');

Después de hacerlo, ya no almacenaba varias cookies en mi tabla ci_sessions y las sesiones se conservaban correctamente.

¡Espero que esto ayude!