Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

este codigo me tira error "Can't use method return value in write contex"

Estas en el tema de este codigo me tira error "Can't use method return value in write contex" en el foro de WordPress en Foros del Web. Estoy intentando agregar el atributo title automaticamente a los links de wordpress me encontre con esta funcion pero me tira error en esta linea Código: ...
  #1 (permalink)  
Antiguo 15/02/2013, 15:20
Avatar de deknisone  
Fecha de Ingreso: marzo-2010
Ubicación: lado obscuro del tiempo
Mensajes: 80
Antigüedad: 14 años, 1 mes
Puntos: 1
este codigo me tira error "Can't use method return value in write contex"

Estoy intentando agregar el atributo title automaticamente a los links de wordpress me encontre con esta funcion pero me tira error en esta linea

Código:
    if ($link->getAttribute('title') == '' || empty($link->getAttribute('title')))
Me tira este error
Fatal error: Can't use method return value in write context


Código PHP:
Ver original
  1. function get_page_title($url){
  2.         if( !class_exists( 'WP_Http' ) )
  3.             include_once( ABSPATH . WPINC. '/class-http.php' );
  4.         $request = new WP_Http;
  5.         $result = $request->request( $url );
  6.         if( is_wp_error( $result ) )
  7.             return false;
  8.  
  9.         if( preg_match("#<title>(.+)<\/title>#iU", $result, $t))  {
  10.             return trim($t[1]);
  11.         } else {
  12.             return false;
  13.         }
  14.     }
  15.  
  16.     add_filter('the_content','auto_add_title_to_link');
  17.  
  18.     function auto_add_title_to_link($content){
  19.         $html = new DomDocument;
  20.         $html->loadHTML($content);
  21.         $html->preserveWhiteSpace = false;
  22.         //get all links
  23.         foreach($html->getElementsByTagName('a') as $link) {
  24.         //make sure it dosent have a title
  25.             if ($link->getAttribute('title') == '' || empty($link->getAttribute('title')))
  26.                 $links[] = $link->getAttribute('href');
  27.         }
  28.         //get title and add it
  29.         foreach ($links as $link){
  30.             $title = get_page_title($link);
  31.             if (false !== $title){
  32.                 $replace = $link.' title="'.$title.'"';
  33.                 $content = str_replace($link,$replace,$content);
  34.             }
  35.  
  36.         }
  #2 (permalink)  
Antiguo 15/02/2013, 15:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: este codigo me tira error "Can't use method return value in write contex"

La construcción empty() funciona únicamente con variables por ahora, lo que estás usando en la segunda comparación no es una variable sino el resultado de la llamada de un método.

Qué para tu caso ni siquiera es necesario especificar el || pues tendría el mismo efecto que la primer comparación.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/02/2013, 15:41
Avatar de deknisone  
Fecha de Ingreso: marzo-2010
Ubicación: lado obscuro del tiempo
Mensajes: 80
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: este codigo me tira error "Can't use method return value in write contex"

Cita:
Iniciado por pateketrueke Ver Mensaje
La construcción empty() funciona únicamente con variables por ahora, lo que estás usando en la segunda comparación no es una variable sino el resultado de la llamada de un método.

Qué para tu caso ni siquiera es necesario especificar el || pues tendría el mismo efecto que la primer comparación.
Estube buscando por google y en el foro, donde comentaban en separalo y hacer la comprobacion una a una y trate de corregirlo con algo asi

Código PHP:
Ver original
  1. $tmp = $link->getAttribute('title');
  2. if(empty($tmp) ? // .. . . . . .

pero no tengo cabeza para lo demas

Veras no tengo noción de php ni si quiera basica, es por eso que recurri a este foro para que me pudiesen ayudar en dado caso como habria de corregir esa linea para que pueda correr el codigo.
  #4 (permalink)  
Antiguo 15/02/2013, 20:05
Avatar de 23r9i0  
Fecha de Ingreso: noviembre-2008
Ubicación: Catalonia
Mensajes: 203
Antigüedad: 15 años, 5 meses
Puntos: 33
Respuesta: este codigo me tira error "Can't use method return value in write contex"

Quieres cambiarle el titulo de la pagina por una que recibes de (donde)?
Sino tienes conocimientos dificil esta, te podemos ayudar pero yo ahora mismo no.
  #5 (permalink)  
Antiguo 16/02/2013, 07:35
Avatar de zanguanga
Moderadora
 
Fecha de Ingreso: julio-2009
Ubicación: España
Mensajes: 1.686
Antigüedad: 14 años, 9 meses
Puntos: 429
Respuesta: este codigo me tira error "Can't use method return value in write contex"

No sé si te servirá pero ¿conoces la función the title attribute?
__________________
Mi blog personal | Mi G+

Etiquetas: html, method, php, return, tira, write
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:22.