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";

leer contenido de FEED/RSS con #PHP by @Govaniso

leer contenido de FEED/RSS con #PHP by @Govaniso

fuente: http://soyprogramador.liz.mx/leer-contenido-de-feedrss-con-php/

Debes en cuando hace falta leer un RSS de alguna página, pues bien en este post veremos como podemos hacerlo.
La clase encargada.

<?
class RssReader {
var $url;
var $data;
function RssReader ($url){
$this->url;
$this->data = implode ("", file ($url));
}
function get_items (){
preg_match_all ("/<item .*>.*<\/item>/xsmUi", $this->data, $matches);
$items = array ();
foreach ($matches[0] as $match){
$items[] = new RssItem ($match);
}
return $items;
}
}
class RssItem {
var $title, $url, $description;
function RssItem ($xml){
$this->populate ($xml);
}
function populate ($xml){
preg_match ("/<title> (.*) <\/title>/xsmUi", $xml, $matches);
$this->title = $matches[1];
preg_match ("/<link> (.*) <\/link>/xsmUi", $xml, $matches);
$this->url = $matches[1];
preg_match ("/<description> (.*) <\/description>/xsmUi", $xml, $matches);
$this->description = $matches[1];
}
function get_title (){
return $this->title;
}
function get_url (){
return $this->url;
}
function get_description (){
return $this->description;
}
}
?>

Y la implementación seria:

<?
include('class.php');//archivo donde este el class
$rss = new RssReader ("http://dedydamy.com/feed");//aqui donde esta http://dedydamy.com/feed tienes que poner la url de tu feed o rss
foreach ($rss->get_items () as $item){ //aca hacemos un foreach para el array de las entradas que se muestren en el feed
echo($item->get_title()."<br />");//escribimos titulo
echo($item->get_url()."<br />");///url del post
echo($item->get_description()."<br />");//descripcion o lo principal del post
echo("<hr><br />");
}
?>

#php y #css: Galería de #fotos automática desde un directorio by inofaqs.blogspot.com.es/

fuente: http://inofaqs.blogspot.com.es/2012/05/galeria-de-fotografias-automatica-solo.html

Me gustan las cosas cómodas, aunque esto conlleve por lo general un esfuerzo adicional dado que no soy un experto en nada.
La cosa esta vez fue que desarrollando (de una forma menos que amateur) un sitio se me pido que manejara una galería de imágenes, rápidamente pensé… «Bueno existen muchos programas que generan galerías de manera automática en php o en flash de manera rápida solo dándole una lista de la imágenes que se desean poner en la web….» y  voilá, miles de gestores en la web… luego la pregunta matando mis ilusiones… «después puedo agregar mas fotos verdad?» El viento helado en mi espalda me recuerda que la mayoría de los gestores en la web no son automáticos, no es que uno les agregue una carpeta a su ruta y auto generen una galería, en la vida real esto no es así, y aunque hay algunos que si lo hacen, son un infierno de archivos… un infierno en el que no estoy dispuesto a entrar.
Pues bien el tema esa vez era crear una galería automática (que tome las fotos directamente del directorio donde se encuentran) de una manera absolutamente minimalista que genere vistas previas y que permita a su vez abrir individualmente cada foto haciendo un efecto tipo presentación, cabe señalar que no había mucho tiempo y mis conocimientos en javascript eran y son bastante limitados, por tanto me dispuse a programar con lo que mas o menos dominaba PHP y CSS
No voy a entrar en detalles respecto al código esta vez pues son varios archivos, en vez de eso dejare el un link con la galería a la vista y uno para su descarga completa y funcional (contiene álbumes con imágenes de muestra) con comentarios en el archivo principal «galeria.php».

Vista de Galería:

Vista de presentación:

Link de descarga: galeria_automatica.rar

Están advertidos que el código no esta completamente depurado y que quizá a partir de este alguien pueda crear algo que sea 1 chilion de veces mas eficiente, en fin…. a mi me resulto bien, pero como digo siempre… si alguien quiere lo mejora o encuentra errores siempre estaré agradecido de que me lo comenten.