2016-04-28 2 views
0

Wie ich einen Shortcode, um diesen Code fügen Sie:Shortwordpress PHP

<a rel="nofollow" href="<?php the_field('download_link',$taxonomy . '_' . $term_id); ?>"target="_blank">DOWNLOAD LINK 1</a> 

Ich habe bereits versucht, den Code unten. Es aktiviert den Funktionscode nicht wirklich.

[sociallocker] 
    <a rel="nofollow" href="<?php the_field('download_link',$taxonomy . '_' . $term_id); ?>"target="_blank">DOWNLOAD LINK 1</a> 
    [/sociallocker] 
+1

so zeigen, wie Sie den sociallocker Shortcode zu WP hinzugefügt. Sie werfen nicht nur irgendeinen zufälligen Text in '[]' und erwarten, dass WP weiß, was zu tun ist ... es muss mit 'add_shortcode()' registriert werden –

+0

FYI: Zumindest für Facebook, dieses Plugin (vorausgesetzt, das ist worüber du sprichst, https://wordpress.org/plugins/social-locker/) verstößt eindeutig gegen ihre Platform Policy - Like Gating ist von Facebook nicht mehr erlaubt, und lohnende User auch nicht für das Liken/Posten/Teilen in irgendwelchen andere Weise. – CBroe

Antwort

0

Im Shortcode API, können Sie ein viele Beispiele finden, wie Sie dies umsetzen können. Hier ist eine mögliche Lösung:

function download_shortcode($atts, $content = null) { 
    return '<a rel="nofollow" href="' . the_field('download_link',$atts['taxonomy'] . '_' . $atts['term_id']); . '" target="_blank">DOWNLOAD LINK 1</a>'; 
} 
add_shortcode('download', 'download_shortcode'); 

Wenn so benutzten:

[download taxonomy=text1 term_id=text2] 

Der Ausgang wäre:

<a rel="nofollow" href="/*The response from the function*/" target="_blank">DOWNLOAD LINK 1</a> 

Also, diese Funktion download_shortcode() sollte in der functions.php-Datei Ihres Themes sein, oder in einem separaten Plugin. Das einzige Problem hier ist, dass PHP-Code dort nicht übergeben werden kann (innen, als Inhalt oder als Parameter), also müssen Sie den Shortcode (die Taxonomie/Term-Felder) auswählen, Parameter hinzufügen oder den Inhalt zwischen Öffnen und Schließen einfügen [download] [/ download] shortcodes.

0

Ich bin nicht 100% klar auf das, was Sie erreichen möchten. Ist dieser Code in einer Vorlage, in der Sie den Shortcode verwenden möchten? Wenn ja, müssen Sie die do_shortcode Funktion verwenden, etwa so:

echo do_shortcode('[sociallocker]<a rel="nofollow" href="' . the_field('download_link',$taxonomy . '_' . $term_id) . '" target="_blank">DOWNLOAD LINK 1</a>[/sociallocker]');