it-swarm.com.de

So binden Sie Seiteninhalte in einen Blogeintrag ein

Ich habe eine HTML-Tabelle erstellt, die auf einer Seite meiner Website veröffentlicht wird, und möchte denselben Inhalt in einem Blog-Beitrag verwenden (eine Art Ankündigung der Veröffentlichung der Tabelle). Die Tabelle wird wahrscheinlich von Zeit zu Zeit aktualisiert, sodass ich zu Wartungszwecken eine einzige Quelle haben möchte.

Gibt es eine Möglichkeit, die Quelle der Tabelle einmalig in den Blog-Beitrag einzubetten, sodass sie immer aktualisiert wird, wenn die Seite aktualisiert wird? Es ist nicht zu erwarten, dass dies häufig vorkommt, deshalb möchte ich nicht viel Ellbogenfett in diese Arbeit stecken.

Danke im Voraus!

BEARBEITEN

Also habe ich mit http://wordpress.org/extend/plugins/shortcode-exec-php/ eine wirklich kurze Shortcode-Lösung erstellt.

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

Vielen Dank an alle, die mitgeholfen haben. Ich habe keinen Repräsentanten, um Antworten zu verbessern, aber ich werde es tun, wenn ich mehr Punkte bekomme.

4
patrickgamer

Erstellen Sie einen Shortcode zum Einbetten des Inhalts. Dies wird immer synchronisiert.

Beispielcode aus einem älteren Projekt. Gerade aktualisiert. :)

GitHub: https://Gist.github.com/3380118 · Dieser Beitrag in Deutsch (in Deutsch) auf meinem 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 );
}

Stellen Sie einfach sicher, dass Sie nicht zwei Posts umgekehrt einbetten.

3
fuxia

Ich würde mir die Verwendung der WordPress SHortcode API ansehen:

http://codex.wordpress.org/Shortcode_API

Auf diese Weise können Sie etwas in der Art von [announceTable] oder so erstellen, dass Sie die Daten und das Format der Tabelle wie auf der Originalseite (die auch der Shortcode ist) dargestellt aufrufen können. Wenn Sie dann die Tabelle aktualisieren möchten, aktualisieren Sie den Shortcode selbst.

Ich hoffe ich habe verstanden was du wolltest und das hilft. Viel Spaß beim Programmieren!

1
Jeff Shinn

Wenn Sie nach einer schnellen und einfachen Lösung suchen, schauen Sie sich vielleicht das WP-Table Reloaded Plugin an.

Auf diese Weise können Benutzer so viele (oder so wenige) Tabellen erstellen, wie sie möchten, und diese werden dann angezeigt, indem ein einfacher Shortcode in den Seiten-/Beitragsinhalt eingefügt wird.

Da die Verknüpfung über den Shortcode erfolgt, kann der Benutzer die Tabelle aktualisieren und sie ändert sich überall dort, wo sie verknüpft ist.

Ich habe es mit einer Firmenwebsite verwendet, auf der der Inhalt aus vielen technischen Tabellen besteht und die großartig war, da Änderungen an den Spezifikationen vorgenommen wurden. Ich gehe einfach zum Administrator und aktualisiere die Tabelle und sie wird dann überall aktualisiert.

0
Vince Pettit