a ver si alguien me puede ayudar

Estado
No está abierto para más respuestas.

snekone

Cobre
Usuario de Bronce
Mensajes
626
Puntuación de reacción
0
estoy modificando un plugin de wp y se trata de un plugin que inserta un link de descarga pero lo inserta con un nombre y yo quiero que lo ponga como imagen.

donde digo que ahi va el texto es donde tendria que ir el codigo de la imagen pero he probado de mil maneras y no doy con la solucion, a ver si alguien me ayuda. un saludo y gracias.

PHP:
$linkText = insset($linkTect) && $linkText != '' ? $linktext : 'Aqui va el texto';
 

Silvia77

Cobre
Usuario de Bronce
Mensajes
777
Puntuación de reacción
0
has probado poner ahi

HTML:
<img src="larutadeutuimagen">

?
 

snekone

Cobre
Usuario de Bronce
Mensajes
626
Puntuación de reacción
0
has probado poner ahi

HTML:
<img src="larutadeutuimagen">

?

si, lo probe el primero, al ponerlo como lo tengo como si fuera texto le meto el codigo como tu lo has puesto y no me carga ni la pagina
 

Silvia77

Cobre
Usuario de Bronce
Mensajes
777
Puntuación de reacción
0
pero dejas los plings, no? o sea, asi:

HTML:
$linkText = insset($linkTect) && $linkText != '' ? $linktext : '<img src="larutadeutuimagen">';
 

snekone

Cobre
Usuario de Bronce
Mensajes
626
Puntuación de reacción
0
vale, tenia algo mal, ahora salir lo que es el codigo en texto con el link tienes skype?
 

Silvia77

Cobre
Usuario de Bronce
Mensajes
777
Puntuación de reacción
0
vale, tenia algo mal, ahora salir lo que es el codigo en texto con el link tienes skype?

hombre, si pasamos a "antencion personalizada" te voy a tener que cobrar, asi que mejor seguimos por aqui, y asi no se desvirtua el espiritu de los foros que es ayudarse entre todos y para todos, ok?

ademas , voy hasta el culo de curro y solo entro a ratitos xD

volviendo al hilo, exactamente qué te sale ahora?
 

snekone

Cobre
Usuario de Bronce
Mensajes
626
Puntuación de reacción
0
hombre, si pasamos a "antencion personalizada" te voy a tener que cobrar, asi que mejor seguimos por aqui, y asi no se desvirtua el espiritu de los foros que es ayudarse entre todos y para todos, ok?

ademas , voy hasta el culo de curro y solo entro a ratitos xD

volviendo al hilo, exactamente qué te sale ahora?

vale, entiendo. me sale esto <img src="dcancion.png"> pero con un link incluido que es el de descarga, lo que yo quiero hacer es que en vez de salir el texto salga la imagen, quizas falte el codigo entero, por eso te he dicho lo de skype pero te lo pongo por aqui:

<?php


include_once('Catconvert_LifeCycle.php');

class Catconvert_Plugin extends Catconvert_LifeCycle {

/**
* See: http://plugin.michael-simpson.com/?page_id=31
* @return array of option meta data.
*/
public function getOptionMetaData() {
// http://plugin.michael-simpson.com/?page_id=31
return array(
//'_version' => array('Installed Version'), // Leave this one commented-out. Uncomment to test upgrades.
'LinkText' => array(__('Enter the text the link should display, default is \'Download as mp3\'', 'catconvert')),
'LinkPosition' => array(__('Select the position where the link should be displayed under the video', 'catconvert'), 'Left', 'Right'),
'LinkCssClass' => array(__('Enter the css class to decorate the a-href html tag', 'catconvert')),
'ContainerCssClass' => array(__('Enter the css class to decorate the div containing a-href html tag', 'catconvert')),
'Categories' => array(__('Enter the blog-post categorie(s) separated by a \',\' on which the plugin will run', 'catconvert'))
);
}

// protected function getOptionValueI18nString($optionValue) {
// $i18nValue = parent::getOptionValueI18nString($optionValue);
// return $i18nValue;
// }

protected function initOptions() {
$options = $this->getOptionMetaData();
if (!empty($options)) {
foreach ($options as $key => $arr) {
if (is_array($arr) && count($arr > 1)) {
$this->addOption($key, $arr[1]);
}
}
}
}

public function getPluginDisplayName() {
return 'Catconvert';
}

protected function getMainPluginFileName() {
return 'catconvert.php';
}

/**
* See: http://plugin.michael-simpson.com/?page_id=101
* Called by install() to create any database tables if needed.
* Best Practice:
* (1) Prefix all table names with $wpdb->prefix
* (2) make table names lower case only
* @return void
*/
protected function installDatabaseTables() {
// global $wpdb;
// $tableName = $this->prefixTableName('mytable');
// $wpdb->query("CREATE TABLE IF NOT EXISTS `$tableName` (
// `id` INTEGER NOT NULL");
}

/**
* See: http://plugin.michael-simpson.com/?page_id=101
* Drop plugin-created tables on uninstall.
* @return void
*/
protected function unInstallDatabaseTables() {
// global $wpdb;
// $tableName = $this->prefixTableName('mytable');
// $wpdb->query("DROP TABLE IF EXISTS `$tableName`");
}


/**
* Perform actions when upgrading from version X to version Y
* See: http://plugin.michael-simpson.com/?page_id=35
* @return void
*/
public function upgrade() {
}

public function addActionsAndFilters() {

// Add options administration page
// http://plugin.michael-simpson.com/?page_id=47
add_action('admin_menu', array(&$this, 'addSettingsSubMenuPage'));

// Example adding a script & style just for the options administration page
// http://plugin.michael-simpson.com/?page_id=47
// if (strpos($_SERVER['REQUEST_URI'], $this->getSettingsSlug()) !== false) {
// wp_enqueue_script('my-script', plugins_url('/js/my-script.js', __FILE__));
// wp_enqueue_style('my-style', plugins_url('/css/my-style.css', __FILE__));
// }


// Add Actions & Filters
// http://plugin.michael-simpson.com/?page_id=37
//add_filter( 'embed_oembed_html', array(&$this, 'add_catconvert_buttons'), 99999 , 4 );
add_filter( 'the_content', array(&$this, 'add_catconvert_buttons'), 99999999);


// Adding scripts & styles to all pages
// Examples:
// wp_enqueue_script('jquery');
// wp_enqueue_style('my-style', plugins_url('/css/catconvert-style.css', __FILE__));
// wp_enqueue_script('my-script', plugins_url('/js/my-script.js', __FILE__));

wp_enqueue_style('catconvert-style', plugins_url('/css/catconvert-style.css', __FILE__));

// Register short codes
// http://plugin.michael-simpson.com/?page_id=39


// Register AJAX hooks
// http://plugin.michael-simpson.com/?page_id=41

}


function add_catconvert_buttons( $html ){
// check if html is empty.
if(empty($html)){
return $html;
}

$categories_enabled = $this->getOption('Categories');

if(isset($categories_enabled) && $categories_enabled != ''){
// check if category is supported
$categories_enabled = explode(",", $categories_enabled);
$categories = get_the_category();
$separator = ' ';
$output = '';
$is_enabled = false;
if($categories){
foreach($categories as $category) {
if(in_array($category->name, $categories_enabled)){
$is_enabled = true;
}
}

if(!$is_enabled){
return $html;
}
}
}

$linkCssClass = $this->getOption('LinkCssClass');
$linkPosition = $this->getOption('LinkPosition');
$linkText = $this->getOption('LinkText');
$containerCssClass = $this->getOption('ContainerCssClass');

$linkPosition = isset($linkPosition) && $linkPosition != '' ? $linkPosition : 'Left';
$linkText= isset($linkText) && $linkText != '' ? $linkText: '<img src="dcancion.png">';
$linkCssClass = isset($linkCssClass) && $linkCssClass != '' ? $linkCssClass : 'catconvert-default-btn';
$containerCssClass = isset($containerCssClass) && $containerCssClass != '' ? $containerCssClass : 'catconvert-default-container';
$containerPosistionCssClass = $linkPosition == 'Left' ? 'catconvert-default-container-position-left' : 'catconvert-default-container-position-right';

$containerCssClass = $containerCssClass . ' ' . $containerPosistionCssClass;

$dom = new DomDocument();
libxml_use_internal_errors(true);

$html = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8');

$dom->loadHtml($html);
libxml_clear_errors();

$xpath = new DomXpath($dom);
$iframes = $xpath->query("//iframe[contains(@src,'youtube')]");

// support for
// - Default Wordpress behavior without any wordpress plugin,
// - Smart Youtube PRO
// - YouTube
// - Advanced YouTube Embed by Embed Plus
foreach ($iframes as $iframe) {
$url = $iframe->getAttribute('src');
$videoId = $this->get_youtube_id_from_url($url);

$containerElement = $dom->createElement('div');
$containerClassAttribute = $this->createAttribute($dom, 'class', $containerCssClass);
$containerElement->appendChild($containerClassAttribute);

$linkElement = $dom->createElement('a', $linkText);
$linkClassAttribute = $this->createAttribute($dom, 'class', $linkCssClass);
$linkElement->appendChild($linkClassAttribute);

$linkTargetAttribute = $this->createAttribute($dom, 'target', '_blank');
$linkElement->appendChild($linkTargetAttribute);

$catconvertUrl = "http://www.catconvert.com/es/?url=http://www.youtube.com/watch?v=".$videoId;
$linkHrefAttribute = $this->createAttribute($dom, 'href', $catconvertUrl);
$linkElement->appendChild($linkHrefAttribute);

$containerElement->appendChild($linkElement);

if($iframe->parentNode->nodeName != 'object'){
$iframe->parentNode->appendChild($containerElement);
}else{
$iframe->parentNode->parentNode->appendChild($containerElement);
}
}

// support for
// - viper plugin
$iframes = $xpath->query("//span[contains(@class,'vvqbox')]/span/a ");
foreach ($iframes as $iframe) {
$url = $iframe->getAttribute('href');
$videoId = $this->get_youtube_id_from_url($url);

$containerElement = $dom->createElement('div');
$containerClassAttribute = $this->createAttribute($dom, 'class', $containerCssClass);
$containerStyleAttribute = $this->createAttribute($dom, 'style', 'margin-top: -7px;');
$containerElement->appendChild($containerStyleAttribute);
$containerElement->appendChild($containerClassAttribute);

$linkElement = $dom->createElement('a', $linkText);
$linkClassAttribute = $this->createAttribute($dom, 'class', $linkCssClass);
$linkElement->appendChild($linkClassAttribute);

$linkTargetAttribute = $this->createAttribute($dom, 'target', '_blank');
$linkElement->appendChild($linkTargetAttribute);

$catconvertUrl = "http://www.catconvert.com/en/?url=http://www.youtube.com/watch?v=".$videoId;
$linkHrefAttribute = $this->createAttribute($dom, 'href', $catconvertUrl);
$linkElement->appendChild($linkHrefAttribute);

$containerElement->appendChild($linkElement);

$iframe->parentNode->parentNode->appendChild($containerElement);
}

return utf8_decode($dom->saveHTML());
}

function createAttribute($dom, $name, $value){
$attribute = $dom->createAttribute($name);
$attribute->value = $value;
return $attribute;
}

function get_youtube_id_from_url($url)
{
if (preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $url, $match)) {
return $match[1];
}
}
}
 

Silvia77

Cobre
Usuario de Bronce
Mensajes
777
Puntuación de reacción
0
en tu navegador pulsa a "ver codigo fuente" a ver como es el enlace... me da que en lugar de ver

HTML:
<img serc="loquesea.jpg">

vas a ver

HTML:
<img serc="loquesea.jpg">

- - - Actualización- - -

a ver si es eso, porque si es eso, habria que buscar donde hace el cambio (sera una funcion htmlentites o algo asi)
 

snekone

Cobre
Usuario de Bronce
Mensajes
626
Puntuación de reacción
0
en tu navegador pulsa a "ver codigo fuente" a ver como es el enlace... me da que en lugar de ver

HTML:
<img serc="loquesea.jpg">

vas a ver

HTML:
<img serc="loquesea.jpg">

- - - Actualización- - -

a ver si es eso, porque si es eso, habria que buscar donde hace el cambio (sera una funcion htmlentites o algo asi)

sale esto: <a class="catconvert-default-btn" href="http://www.catconvert.com/es/?url=http://www.youtube.com/watch?v=FQJNalaUpVs" target="_blank"><img serc="dcancion.png"></a>
 

Silvia77

Cobre
Usuario de Bronce
Mensajes
777
Puntuación de reacción
0
oder, que me confundi en algun punto (error tipografico), no es serc es src
 

snekone

Cobre
Usuario de Bronce
Mensajes
626
Puntuación de reacción
0
sale asi como dices

<a href="http://www.catconvert.com/en/?url=http://www.youtube.com/watch?v=FQJNalaUpVs" target="_blank" class="catconvert-default-btn"><img src="dcancion.png"></a>

lo que dices es esto?

$html = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8');
 

Silvia77

Cobre
Usuario de Bronce
Mensajes
777
Puntuación de reacción
0
casi seguro. lo que pasa es que no se que pasará si lo quitas... igual (casi seguro) se jode por otro lado. Haz una copia de seguridad del fichero y prueba

mb_convert_encoding parece una funcion de propio plugin, igual puedes decirle que no cambie esos caracteres en concreto

o (mas rapido para hacer pruebas, peor yo no lo dejaria asi sin haberlo testeado a fondo) puedes comentar la linea completa para que el contenido de $html no sea encodeado, a ver que pasa
 

snekone

Cobre
Usuario de Bronce
Mensajes
626
Puntuación de reacción
0
casi seguro. lo que pasa es que no se que pasará si lo quitas... igual (casi seguro) se jode por otro lado. Haz una copia de seguridad del fichero y prueba

mb_convert_encoding parece una funcion de propio plugin, igual puedes decirle que no cambie esos caracteres en concreto

o (mas rapido para hacer pruebas, peor yo no lo dejaria asi sin haberlo testeado a fondo) puedes comentar la linea completa para que el contenido de $html no sea encodeado, a ver que pasa

vale gracias por la ayuda lo probare, un saludo :)
 
Estado
No está abierto para más respuestas.
Arriba