it-swarm.com.de

Benutzerdefiniertes Feld in TWIG-Vorlage - Erweitertes Plugin für benutzerdefinierte Felder

Weiß jemand, wie man ein benutzerdefiniertes Feld (vom Advanced Custom Fields-Plugin) in eine Zweigvorlage einfügt?

Dies ist der Code, den ich in die Zweigdatei einfügen möchte.

<img src="<?php the_field('profile_pic'); ?>" />

Und das ist die Codierung der Twig-Vorlagendatei

    {% extends 'layout - tlt.twig' %}

{% block content %}

<br> <br>
    <h1 style="font-weight:bold; font-size:24px;" class="">{{ post.post_title }}</h1>
<br> <br>
    <div class="agent">
        <div class="row">
            <div class="image span2">
                <a href="{{ wp.get_permalink(wp.get_the_ID()) }}">
                    {% if wp.get_the_post_thumbnail(wp.get_the_ID()) %}
                        {{ wp.get_the_post_thumbnail(wp.get_the_ID())|raw }}
                    {% else %}
                        <img src="{{ wp.get_template_directory_uri() }}/assets/img/agent-tmp.png" alt="{{ property.post_title }}">
                    {% endif %}
                </a>
            </div><!-- /.image -->

            <div class="body span4">
                {{ wp.do_shortcode(wp.apply_filters('the_content', post.post_content))|raw }}
            </div><!-- /.body -->

            <div class="info span3">
                <div style="font-size:14px;" class="box">
                    <div style="margin-bottom:7px;" class="phone">
                        <i class="icon icon-normal-mobile-phone"></i>
                        {{ wp.get_post_meta(wp.get_the_ID(), '_tlt_mobile', TRUE) }}
                    </div><!-- /.phone -->

                    <div style="margin-bottom:7px;" class="office">
                        <i class="icon icon-normal-phone"></i>
                        {{ wp.get_post_meta(wp.get_the_ID(), '_tlt_phone', TRUE) }}
                    </div><!-- /.office -->

                    <div style="margin-bottom:7px;" class="email">
                        <i class="icon icon-normal-mail"></i>
                        <a href="mailto:{{ wp.get_post_meta(wp.get_the_ID(), '_tlt_email', TRUE) }}">
                            {{ wp.get_post_meta(wp.get_the_ID(), '_tlt_email', TRUE) }}
                        </a>
                    </div><!-- /.email -->

                     <div style="margin-bottom:7px;" class="location">
                        <i class="icon icon-normal-phone"></i>
                        {{ wp.get_post_meta(wp.get_the_ID(), '_tlt_location', TRUE) }}
                    </div><!-- /.office -->

                    <div style="margin-bottom:7px;" class="location">
                        <i class="icon icon-normal-phone"></i>
                        {{ wp.get_post_meta(wp.get_the_ID(), 'contact_number', TRUE) }}
                    </div><!-- /.office -->

                    <div style="margin-bottom:7px;" class="location">
                   <img src="{{ wp.get_post_meta(wp.get_the_ID(), 'profile_pic', TRUE)}}" alt="image" />
                    </div><!-- /.office -->





                </div><!-- /.box -->
            </div><!-- /.info -->
        </div><!-- /.row -->
    </div><!-- /.agent -->

    {% if properties %}
        <hr>




    {% endif %}
{% endblock %}

Ich habe alles richtig gemacht, bis ich den Code in die .twig-Datei eingefügt habe. Nichts hat geklappt.

3
Tharindulucky

Ich verwende Twig nicht, aber ich bin mir ziemlich sicher, dass Sie Werte übergeben müssen, anstatt alle WP -Funktionen aus der Vorlage (die wahrscheinlich außerhalb des Kontexts von WordPress ausgeführt wird). Ihr Controller (normalerweise die WordPress-Vorlage) speichert also die Ergebnisse der WP -Aufrufe in einem Array, und Sie rendern die Twig-Vorlage mit den im Array gespeicherten Werten.

[bearbeitet zum hinzufügen]

Sie haben in Ihrem Controller einen Anruf wie folgt:

echo View::render( 'single-tlt.twig', array( 
                    'post' => $post, 
                    'properties' => aviators_properties_get_by_agent( get_the_ID() ) 
                     ) 
                 ); 

Ändern Sie in etwa so:

echo View::render( 'single-tlt.twig', array( 
                    'post' => $post, 
                    'properties' => aviators_properties_get_by_agent( get_the_ID() ),
                    'profile_pic' => get_the_field( 'profile_pic' )
                     ) 
                 ); 

Und dann können Sie in Ihrer Twig-Vorlage Folgendes hinzufügen:

<img src = '{{profile_pic}}'>

0
anu