• Resuelto inmobi25

    (@inmobi25)


    Hola,
    Estoy buscando un plugin que me permita añadir un enlace a otro artículo al final de cada post (a modo de related post pero relacionandolo de forma manual).
    El problema es que este artículo no sigue ningún algoritmo concreto (ni taxonomía, categoría, autor… nada! es a decisión del autor).
    Otro problema es que debería aparecer al final del post, después de otros widgets after post, por lo que no puede formar parte del contenido del post.
    Y un tercer problema es que el contenido de este artículo lo va a ir introduciendo el autor que no tiene conocimientos de desarrollo por lo que no puede introducir la relación post / artículo mediante php ….
    Se os ocurre alguna manera de hacerlo o conocéis algún plugin que permita hacer esto?
    Os dejo el enlace a la página para que os quede más claro:

    http://www2.teldat.com/blog/improving-efficiencies-through-plc-prime-communications-gateway/#more-1005

    Mil gracias!!!

Viendo 13 respuestas - de la 1 a la 13 (de un total de 13)
  • Moderador almendron

    (@almendron)

    No hace falta ningún plugin. Usa un campo personalizado.
    https://codex.wordpress.org/es:Using_Custom_Fields

    Iniciador del debate inmobi25

    (@inmobi25)

    Gracias almendron! pero si lo meto en un custom field me aparecerá a continuación del texto del post, no? El tema es que necesitaría mostrarlo al final de todo el post, después de cuatro widgets que tengo en un área «After content»… No sé si me explico…

    • Esta respuesta fue modificada hace 6 años, 11 meses por inmobi25.
    Moderador almendron

    (@almendron)

    Aparecerá donde pongas el código correspondiente. Tendrás que editar la plantilla e insertarlo donde quieras que aparezca.
    En cuanto tenga un rato te paso el código (a lo largo del fin de semana).

    Iniciador del debate inmobi25

    (@inmobi25)

    Ahhhh, vale!!! Pues si me puedes pasar el código te lo agradezco un montón!!! si me sacas de lo básico me pierdo bastante…
    Mil gracias!!! Feliz viernes!!!

    Moderador almendron

    (@almendron)

    1.- Crea un campo personalizado que llamaras «enlacerel» (sin las comillas).
    2.- En el «valor» de dicho campo debes introducir el ID del post relacionado. Este id lo puedes conseguir de dos maneras:
    a) Visualiza el post, ver código fuente y buscar <article id="post-1005".... El ID es el número. En este caso sería 1005.
    b) Administración > Entradas y poniendo el cursor encima de la entrada te saldrá algo así como http://xxx/wp-admin/post.php?post=81645&action=edit. En este caso el ID sería 81645.
    Podría hacerse poniendo en el valor del campo personalizado la URL del artículo relacionado pero entonces también habría que poner otro campo personalizado para indicar también su título. Poniendo el ID es todo mucho más sencillo.
    3.- Y ahora el código. Dado que tu tema es de pago, no te puedo indicar en qué archivo debes colocarlo ya que no tengo acceso a él. Lo normal es que fuera en single.php.

    <?php
    $idenlacerelacionado = ''; $tituloenlacerelacionado = ''; $urlenlacerelacionado = '';
    $idenlacerelacionado = get_post_meta($post->ID, 'enlacerel', true);
    if ( $idenlacerelacionado !== '' ) :
    	$tituloenlacerelacionado = get_the_title ($idenlacerelacionado);
    	$urlenlacerelacionado = get_permalink($idenlacerelacionado);
    	if ($urlenlacerelacionado !== false) :
    		echo '<div class="enlacerel">Artículo relacionado: <a href="' . $urlenlacerelacionado . '">' . $tituloenlacerelacionado . '</a></div>';
    	endif;
    endif;
    ?>

    4.- Por último edita la hoja de estilos o añade en el personalizador la class «enlacerel»

    .enlacerel {
    	estilos
    }
    • Esta respuesta fue modificada hace 6 años, 11 meses por almendron.
    Iniciador del debate inmobi25

    (@inmobi25)

    Eres un crack!!! perfecto, lo único que el artículo relacionado en la mayoría de las ocasiones no va a ser otro post, sino una url externa, pero por lo que me has comentado tendría que crear otros dos campos personalizados (uno para la url y otro para el título) y meter otro trozo de codigo php para que genere el link directamente con el value del campo… les digo que cuando quieran relacionar a un post usen un campo y cuando quieran relacionar a un artículo externo usen los otros dos. ¿sería así no?
    Voy a probar y te comento!
    Mil gracias!!!

    Moderador almendron

    (@almendron)

    No te vale lo que te he puesto si vas a poner URL externas.
    Luego te lo miro pero habrá que usar dos campos personalizados. Uno para almacenar la URL y otro para el título.

    Iniciador del debate inmobi25

    (@inmobi25)

    Me he creado otros dos campos y en la single.php he añadido este código:

    if ( UrlOurRelevantSolutions !== » ) :

    if (UrlOurRelevantSolutions !== false) :
    echo ‘<div class=»enlacerel»>Our Relevant Solutions: ‘ . TituloOurRelevantSolutions . ‘</div>’;
    endif;
    endif;

    Les dejo también el código que me has enviado tu para dejarles la opcion de si quieren relacionar con un post.

    Ahora solo tengo que darle formato para que aparezca con una imagen, un título y un resumen… pero la imagen es siempre la misma, así que yo creo que con las hojas de estilo me las arreglo!

    Dejo el post abierto por si se me complica!

    Gracias almendron!

    Iniciador del debate inmobi25

    (@inmobi25)

    Espera que me he venido arriba demasiado pronto…

    ¿cómo se recupera el value de un custom field desde la página php???

    echo UrlOurRelevantSolutions;
    echo TituloOurRelevantSolutions;

    if ( UrlOurRelevantSolutions !== » ) :

    if (UrlOurRelevantSolutions !== false) :
    echo ‘<div class=»enlacerel»>Our Relevant Solutions: ‘ . TituloOurRelevantSolutions . ‘</div>’;
    endif;
    endif;

    Moderador almendron

    (@almendron)

    En primer lugar, usa la etiqueta «code» para poner código.
    En segunda lugar, dame un rato y te paso el código.

    Moderador almendron

    (@almendron)

    Crea dos campos personalizados: «enlacerel» (enlace del artículo relacionado) y «titulorel» (título del artículo relacionado).

    El código solo funcionará si los dos campos están cumplimentados.

    <?php
    $urler = ''; $tituloer = '';
    $urler  = get_post_meta($post->ID, 'enlacerel', true);
    $tituloer = get_post_meta($post->ID, 'titulorel', true);
    if ( ($urler !== '') && ($tituloer !== '') ) :
    	echo '<div class="enlacerel">Artículo relacionado: <a href="' . $urler . '">' . $tituloer . '</a></div>';
    endif;
    ?>
    Iniciador del debate inmobi25

    (@inmobi25)

    Ahora si!!!! genial, muchas gracias, ya lo tengo!

    Moderador almendron

    (@almendron)

    De nada. Un saludo.

Viendo 13 respuestas - de la 1 a la 13 (de un total de 13)
  • El debate ‘Plugin para añadir una publicación relacionada de forma manual’ está cerrado a nuevas respuestas.