Si tenemos en WordPress activado el Plugin de caché W3 Total Cache y cambiamos a PHP 7, es posible que la página nos comience a lanzar un mensaje de error parecido a este:
Warning: Parameter 1 to W3_Plugin_TotalCache::ob_callback() expected to be a reference, value given in /home/u305715112/public_html/wp-includes/functions.php on line 3549
Como es lógico la línea de código será diferente para cada caso. Esto se debe a que PHP 7 cambia la interpretación del código de éste Plugin y tenemos que realizar una modificación en el código de W3 Total Cache.
No es complicado, solo tenemos que abrir el archivo:
/.../.../wp-content/plugins/w3-total-cache/lib/W3/Plugin/TotalCache.php
Si estamos familiarizados con la estructura de archivos de WordPress conocemos esta ruta, pero si no lo estamos quizás tenga cierto nivel de dificultad.
Los puntos suspensivos solo resumen la ruta que nos lleva al raíz de nuestro directorio de archivos donde tenemos alojado nuestro portal.
Como vamos a ver, solo tenemos que conectarnos por nuestro método preferido a la ruta usando FTP, un administrador de archivos web, etc y editar el archivo mencionado. La modificación que tenemos que realizar es la siguiente:
function ob_callback(&$buffer) {
Esa es la línea que tenemos que localizar y el cambio que tenemos que realizar es sustituir
&$buffer
Por la cadena
$buffer
Como podemos ver solo hemos retirado el símbolo de «&». Despues del cambio la cadena tiene que quedar de la siguiente forma:
function ob_callback($buffer) {
Una vez realizado el cambio, guardamos y ya estaría solucionado. Como es muy probable que la página esté en caché deberíamos de realizar una limpieza del mismo pulsando en «Empty All Caches» como se muestra en la foto:
Ya podemos recargar nuestra página y el mensaje que nos aparecía en el pié ha desaparecido. Espero que os sirva de ayuda y como he mencionado antes solo he detectado este fallo usando el plugin pero como PHP 7.
Un saludo y hasta la próxima.