it-swarm.com.de

Einfügen eines HTML-Tags mit ACF in den Shortcode

Lassen Sie mich zunächst sagen, dass ich in der Regel viel recherchiere, bevor ich öffentlich um Hilfe bitte - aufgrund der Wahrscheinlichkeit, dass Informationen bereits im Internet verfügbar sind -, obwohl ich mehrere Tage lang nachgeforscht habe usw. Ich bin immer noch in Qualen ...

Ich verwende Wordpress mit dem Plugin "Erweiterte benutzerdefinierte Felder". Ich konnte das Bild mithilfe eines einfachen HTML-Codes auf meiner Startseite anzeigen

<img src="[acf field='image' post_id=''. $post_id .'']" />

Wo ich ein benutzerdefiniertes Feld namens "Bild" erstellt habe. Jetzt Ich möchte einen Shortcode erstellen, um diesen Link anzuzeigen, wenn möglich? Ich habe eine Menge Möglichkeiten durchlaufen, wie z.

Versuchte dies auch;

<?php
function my_shortcode() {
    $output = '';
    $output.= '<img src="[acf field='image' post_id=''. $post_id .'']" />';
    return $output;
}

Hat nicht gedauert ... dann habe ich mir das letzte ausgesucht, das ich im Internet gefunden habe.

    function my_shortcode() {
    ob_start();
    ?> <HTML> <img src="[acf field='image' post_id=''. $post_id .'']" /> <?php
    return ob_get_clean();
}

Was auf meiner Website zu so etwas geführt hat - Ergebnis

Ich bin hier wirklich überfordert, Leute ... Ich wäre wirklich froh, wenn jemand bereit wäre, mir ein wenig zu helfen!

Danke im Voraus!

1
Pr0metheus

Sie müssen do_shortcode() verwenden, um Shortcodes in Ihrem String auszuführen

Vollständiger Code sollte so sein

<?php
function my_shortcode( $atts ) {
    $atts = shortcode_atts( array(
        'post_id' => '', // Default value.
    ), $atts );

    $output = '[acf field="image" post_id="' . $atts['post_id'] . '"]';
    $output = do_shortcode( $output );
    $output = '<img src="' . $output . '" />';
    return $output;
}

add_shortcode('my_link', 'my_shortcode');

Verwendungszweck:

[my_link post_id="xxx"]

dabei ist xxx die ID des gewünschten Posts.

1
KAGG Design

 enter image description here 

function my_shortcode(){
return '<img src="[acf field='image' post_id=''. $post_id .'']" />';
}
add_shortcode('image','my_shortcode');
0