web-dev-qa-db-fra.com

Comment intégrer le contenu d'une page dans un article de blog

J'ai construit un tableau HTML qui est posté sur une page de mon site et j'aimerais utiliser ce même contenu dans un article de blog (une sorte d'annonce de la publication du tableau). Le tableau est susceptible d'être mis à jour de temps en temps, j'aimerais donc avoir une source unique à des fins de maintenance.

Est-il possible d'incorporer une seule fois le code source de la table dans l'article de blog afin qu'il soit toujours mis à jour lors de la mise à jour de la page? On ne s'attend pas à ce que cela se produise souvent, alors je ne veux pas mettre beaucoup de graisse dans les coudes pour faire ce travail.

Merci d'avance!

MODIFIER

C’est pourquoi j’ai fait une solution vraiment shortcode en utilisant http://wordpress.org/extend/plugins/shortcode-exec-php/

extract(shortcode_atts(array('arg' => 'default'), $atts));
$id = 2328;
$post = get_post( $id );
return apply_filters('the_content', $post->post_content );

Merci à tous ceux qui ont aidé. Je n'ai pas de représentant pour relire les réponses, mais je le ferai quand j'aurai plus de points.

4
patrickgamer

Créez un shortcode pour intégrer le contenu. Ce sera toujours synchronisé.

Exemple de code provenant d'un projet plus ancien. Juste mis à jour. :)

GitHub: https://Gist.github.com/3380118 · Ce message en allemand (auf Deutsch) sur mon blog .

<?php # -*- coding: utf-8 -*-
/**
 * Plugin Name: T5 Embed Post Shortcode
 * Description: Embed any page, post or custom post type with shortcode.
 * Plugin URI:  http://wordpress.stackexchange.com/q/62156/73
 * Version:     2012.08.17
 * Author:      Thomas Scholz
 * Author URI:  http://toscho.de
 * License:     MIT
 * License URI: http://www.opensource.org/licenses/mit-license.php
 *
 * T5 Embed Page Shortcode, Copyright (C) 2012 Thomas Scholz
 */

add_shortcode( 'embed_post', 't5_embed_post' );

/**
 * Get a post per shortcode.
 *
 * @param  array $atts There are three possible attributes:
 *         id: A post ID. Wins always, works always.
 *         title: A page title. Show the latest if there is more than one post
 *              with the same title.
 *         type: A post type. Only to be used in combination with one of the
 *              first two attributes. Might help to find the best match.
 *              Defaults to 'page'.
 * @return string
 */
function t5_embed_post( $atts )
{
    extract(
        shortcode_atts(
            array (
                'id'    => FALSE,
                'title' => FALSE,
                'type'  => 'page'
            ),
            $atts
        )
    );

    // Not enough input data.
    if ( ! $id and ! $title )
    {
        return;
    }

    $post = FALSE;

    if ( $id )
    {
        $post = get_post( $id );
    }
    elseif( $title )
    {
        $post = get_page_by_title( $title, OBJECT, $type );
    }

    // Nothing found.
    if ( ! $post )
    {
        return;
    }

    return apply_filters( 'the_content', $post->post_content );
}

Assurez-vous simplement de ne pas intégrer deux messages inversement.

3
fuxia

Je voudrais utiliser l'API WordPress SHortcode:

http://codex.wordpress.org/Shortcode_API

Cela vous permettra de créer quelque chose le long des lignes de [advertTable] ou autre, de sorte que vous puissiez appeler les données et le style de la table tels qu'ils sont représentés dans la page d'origine (qui est également le code court). Ensuite, lorsque vous souhaitez mettre à jour la table, vous mettez à jour le Shortcode lui-même.

J'espère avoir compris ce que vous vouliez et que cela aide. Bonne programmation!

1
Jeff Shinn

Si vous cherchez une solution simple et rapide, vous pouvez jeter un coup d'œil au plugin WP-Table Reloaded .

Cela permet aux utilisateurs de créer autant (ou aussi peu) de tableaux qu'ils le souhaitent, qui sont ensuite affichés en ajoutant un shortcode dans le contenu de la page/du message.

Comme il est lié à via le shortcode, l'utilisateur peut alors mettre à jour la table et celle-ci changera partout où elle est liée.

Je l'ai utilisé avec un site Web d'entreprise où le contenu est composé de nombreux tableaux techniques. Les modifications apportées aux spécifications ont été très utiles. Je demande à l'administrateur de mettre à jour le tableau, qui est ensuite mis à jour partout.

0
Vince Pettit