llamar a una funcion javascript desde PHP

buenas a tod@s

es raro lo se, pero necesite llamar desde PHP a una funcion en javascript … es bastante sencillo:


echo "<script>";
echo "MiFuncionJS();";
echo "</script>";

xDD

wordpress comments_template(): mostrar comentarios de post en archive o index, no solo en single

fuente: https://www.bontano.com/wordpress-force-full-comment-display-on-archives-or-index-page/

Buenas a tod@s

Mostrar comentarios en wordpress, chupao. Ponemos comments_template(); y a correr verdad? esto ye muy guapo en single o en index, es decir; en la misma pagina del comentario pero en cualquier otro sitio a esta funcion no le llega el id del post

Llevo toda la tarde loco en google y solo he encontrado una solucion valida:

  • en nuestro archive.php o index.php justo despues de la llama al head ponemos : $withcomments = 1

Y solo con esto ya funciona … increible pero cierto, pa mi idea que le esta diciendo a la funcion que aunque no le aparezcan comentarios si los hay; esta falseandole una llamada a una comprobacion de ahi que en archive al poner solo la llamada a template no se muestran nunca comentarios

ni idea vamos, pero funcionar funciona comprobado y no se entremezclan los comentarios ni nada de nada

un saludo !

#Prestashop: #Error 500 en finalizacion de formulario registro de nuevo usuario

#Prestashop: #Error 500 en finalizacion de formulario registro de nuevo usuario

fuentes: https://javier-valero.es/2013/07/como-resolver-los-errores-500-en-prestashop/

http://www.klosions.com/error-al-registrarse-en-prestashop/

La problematica era la siguiente:

  • te registras como nuevo usuario rellenas todos los datos y en vez de mostrar felicidades ya eres nuevo usuario te aparece la pantalla en blanco con un bonito ERROR500

Por lo visto a prestashop esto le encanta … leyendo en google encontre esta web https://javier-valero.es/2013/07/como-resolver-los-errores-500-en-prestashop/ en la que recomiendan activar el modo debug de prestashop para ver los errores que canta PHP

Lo hice, y me encontre con un error muy desagradable de 4 lineas … copie el ultimo trocito de error donde indicaba nombre de archivo y linea de error y otra vez a nuestro querido google a consultar y encontre esta pagina que me ha salvado el dia http://www.klosions.com/error-al-registrarse-en-prestashop/ dasfg en la que nos indican que modifiquemos el codigo del php que esta dando error (ObjectModel.php) por otro:

vamos a la linea 1032 y nos encontramos con esto


if (!empty($value) || $value === '0' || ($field == 'postcode' && $value == '0')) {
if (isset($data['validate']) && !Validate::$data['validate']($value) && (!empty($value) || $data['required'])) {
$errors[$field] = '<b>'.self::displayFieldName($field, get_class($this), $htmlentities).'</b> '.Tools::displayError('is invalid.');
} else {
if (isset($data['copy_post']) && !$data['copy_post']) {
continue;
}
if ($field == 'passwd') {
if ($value = Tools::getValue($field)) {
$this->{$field} = Tools::encrypt($value);
}
} else {
$this->{$field} = $value;
}
}
}

 

y lo sustituimos por esto


if (!empty($value) || $value === '0' || ($field == 'postcode' && $value == '0')) {
if (isset($data['validate']) && !call_user_func('Validate::'.$data['validate'],$value) && (!empty($value) || $data['required'])) {
$errors[$field] = '<b>'.self::displayFieldName($field, get_class($this), $htmlentities).'</b> '.Tools::displayError('is invalid.');
} else {
if (isset($data['copy_post']) && !$data['copy_post']) {
continue;
}
if ($field == 'passwd') {
if ($value = Tools::getValue($field)) {
$this->{$field} = Tools::encrypt($value);
}
} else {
$this->{$field} = $value;
}
}
}

me dije a mi mismo “esto no funciona ni de broma, haz un backup del archivo …” pues funciono si señor, muchas gracias a alexhernandez por su gran solucion!

un saludo

WordPress: definir una plantilla diferente por categoría para leer posts (single.php)

WordPress: definir una plantilla diferente por categoría para leer posts (single.php)

Fuente: https://desarrollowp.com/blog/tutoriales/como-definir-una-plantilla-diferente-por-categoria-para-el-detalle-de-los-posts/

… cargará si encuentra un archivo single-nombredelacategoria.php (buscaremos por el slug de la categoría). En caso contrario devolverá single.php. Pondremos en nuestro functions.php:

function custom_single_template($the_template) {
foreach ( (array) get_the_category() as $cat ) {
if ( locate_template("single-{$cat-&gt;slug}.php") ) {
return locate_template("single-{$cat-&gt;slug}.php");
}
}
return $the_template;
}
add_filter( 'single_template', 'custom_single_template');

leer artículo completo en la fuente: desarrollowp.com

#php: post subir image a #twitter @cbielich

#php: post subir image a #twitter @cbielich

fuente: http://stackoverflow.com/questions/35350822/posting-image-status-with-the-twitter-api-using-php

Twitter-PPC

tras mucho buscar y probar y arrancarme el pelo de la cabeza gracias a Cesar Bielich por fin he encontrado solucion, twittear desde php muy guapo pero para publicar una foto con el tweet me las vi y me las desee … con este codiguillo y descargando la libreria codebird, mano de santo:

tweet(‘This is my sample tweet message’,’../audi-a3-grande.jpg’);

function tweet($message,$image) {

// add the codebird library
require_once(‘codebird-php-develop/src/codebird.php’);

// note: consumerKey, consumerSecret, accessToken, and accessTokenSecret all come from your twitter app at https://apps.twitter.com/
\Codebird\Codebird::setConsumerKey(“xxx”, “xxx”);
$cb = \Codebird\Codebird::getInstance();
$cb->setToken(“xxx”, “xxx”);

//build an array of images to send to twitter
$reply = $cb->media_upload(array(
‘media’ => $image
));
//upload the file to your twitter account
$mediaID = $reply->media_id_string;

//build the data needed to send to twitter, including the tweet and the image id
$params = array(
‘status’ => $message,
‘media_ids’ => $mediaID
);
//post the tweet with codebird
$reply = $cb->statuses_update($params);

}

#php: obtener #string de una cadena de texto usando caracteres como limites

fuente: http://www.forosdelweb.com/2218767-post9.html

$cadena="cualqasdasduiercosahttp://www.forosdelweb.com/index.htmlterminando";
$maximo= strlen ($cadena);
$ide= "http://";
$ide2= ".html";
$total= strpos($cadena,$ide);
$total2= stripos($cadena,$ide2);
echo "Largo de la cadena: $maximo";
echo "<br>";
echo "Lo que sobra al inicio: $total";
echo "<br>";
$total3= ($maximo-$total2-5);
echo "Lo que sobra al final: $total3";
echo"<br>";
$final= substr ($cadena,$total,-$total3);
echo "Esto es lo que queremos: $final";