اضافة الحقول المخصصة ACF ووردبريس  البرنامج التعليمي الكامل اضافات ووردبريس

اضافة الحقول المخصصة ACF ووردبريس البرنامج التعليمي الكامل

في هذا البرنامج التعليمي الكامل الحقول المخصصة المتقدمة ، سأعلمك أنه ليس صعبًا للغاية ، لأن الأشخاص الذين خلف الكواليس الذين أنشأوا هذا البرنامج المساعد قد قاموا بعمل رائع لتسهيل استخدام الوظيفة الديناميكية لـ ووردبريس

لنبدأ بإنشاء قائمة ، ستوضح لك هذه القائمة الميزات الرئيسية التي يمكنك استخدامها عبر البرنامج المساعد المتقدم للحقول المخصصة.

أنواع الحقول المخصصة المتقدمة في اضافة ACF :

نوع الحقلنوع الحقل
Date Picker
Date Time Picker
Google Map
Time Picker
Accordion
Flexible Content
Repeater
Tab Layout
Clone Layout
Select
True / False Choice
File
Range
Text
Text Area
Button Group
Choice
Checkbox
Radio Button
Gallery
Image
oEmbed
Wysiwyg Editor
Color Picker

كيفية استخدام الحقول المخصصة المتقدمة في قالب ووردبريس ؟

أولاً ، تحتاج إلى معرفة مكان وزمان استخدام أنواع الحقول المخصصة المتقدمة ، ولهذا ، سأقدم لك بعض الأمثلة لفهم كيفية عملها.

لنفترض أنك تريد إنشاء موقع ويب عقارات ، ولتمكينك من إرسال معلومات الملكية ، ستحتاج إلى استخدام الحقول المخصصة في نوع المنشور الخاص بك والذي يمكنك تسميته مواقع … تعرف على المزيد هنا حول نوع المنشور المخصص وكيف لصنعه..

بناء موقع عقاري باستخدام اضافة ACF

ستحتاج إلى تسجيل خمسة حقول مخصصة الآن باستخدام المكون الإضافي ACF المسمى على النحو التالي:

نوع الحقلنوع الحقل
Address
City Name
Price
Rooms Number
Living Space
Text
Select
Number
Number
Number

انتقل الآن إلى اضافة ACF في ووردبريس ، وانقر فوق اضافة جديد ، ثم أعطه اسم Location …. ثم قم بعمل الحقول المخصصة كما هو موضح أعلاه … عند الانتهاء ، قم بتعيين الموقع ليتم عرضه في المواقع نوع آخر.

اذهب الآن إلى المواقع ، اكتب المنشور واضغط إضافة جديد ، املأ الحقول واحفظها …

اعرض الحقول المخصصة في موقع الويب الخاص بك باستخدام البرنامج المساعد

الآن لعرض الحقول المخصصة لديك خياران ، استخدام اما الاضافة أو مع بعض التعليمات البرمجية في ملف القالب الخاص بك …

لعرض حقول الحقول المخصصة المتقدمة باستخدام مكون إضافي ، فإن أفضل مكون إضافي للقيام بذلك هو Elementor Pro …

انتقل إلى قوالب Elementor Pro ، واصنع قالبًا جديدًا أطلق عليه اسم المواقع وقم بتعيينه إلى مواقع نوع وعاء واضغط على إنشاء قالب ..

الآن اسحب أداة النص من الجانب الأيسر أو الأيمن بناءً على لغة موقع الويب الخاص بك وانقر فوق الرمز الديناميكي كما ترى في الصورة أدناه

Advanced Custom Fields Full Tutorial - Usage and Display with elementor and without plugin

الآن تحتاج فقط إلى تحديد حقل ACF الأول الذي يسمى العنوان ، هذا هو ….. ولكن ماذا لو كنت تريد استخدام هذا الحقل لعرض Adres في خرائط Gooele؟

لا توجد مشكلة ، اسحب أداة خرائط Google وكما ترى ، انقر فوق الرمز الديناميكي وكرر العملية كما أوضحنا أعلاه …

الآن لعرض حقل اسم المدينة ، لديك في Elementor أيضًا خيارات لاستخدامها ، TEXT WIDGET أو Post info ، والقيام بنفس الشيء .. انقر فوق الرمز الديناميكي واختر الحقل ….

كرر ذلك لعرض جميع الحقول المخصصة أعلاه باستخدام Elementor.

اعرض الحقول المخصصة في موقع الويب الخاص بك بدون مكون إضافي

أولًا للقيام بذلك ، ستحتاج إلى معرفة القليل من PHP – HTML – CSS

الكود الذي سيتم استخدامه هو لكل حقل كما هو مكتوب أدناه:

حقل Address

<p><?php the_field('address'); ?></p>

ولعرض حقل العنوان باستخدام خرائط Google ، ستحتاج إلى تغيير نوع الحقل ، بدلاً من حقل النص إلى خرائط Google وتحتاج إلى القيام ببعض الأشياء الأخرى.

تحتاج أولاً إلى اتباع تعليمات Google an API Key. يتطلب حقل خرائط Google واجهات برمجة التطبيقات التالية ؛ API للخرائط JavaScript وواجهة برمجة تطبيقات التكويد الجغرافي وواجهة برمجة تطبيقات الأماكن.

بمجرد تسجيل Google an API Key ، عد إلى مجلد الثيم الخاص بك وقم بلصق الرمز في Functions.php

لتسجيل مفتاح Google API الخاص بك ، يرجى استخدام إحدى الطرق التالية.
// Method 1: Filter.
function my_acf_google_map_api( $api ){
    $api['key'] = 'xxx';
    return $api;
}
add_filter('acf/fields/google_map/api', 'my_acf_google_map_api');

لعرض الموقع المحفوظ في خريطة Google ، يرجى استخدام الرمز API

قم بلصقه الآن

<style type="text/css">
.acf-map {
    width: 100%;
    height: 400px;
    border: #ccc solid 1px;
    margin: 20px 0;
}

// Fixes potential theme css conflict.
.acf-map img {
   max-width: inherit !important;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY"></script>
<script type="text/javascript">
(function( $ ) {

/**
 * initMap
 *
 * Renders a Google Map onto the selected jQuery element
 *
 * @date    22/10/19
 * @since   5.8.6
 *
 * @param   jQuery $el The jQuery element.
 * @return  object The map instance.
 */
function initMap( $el ) {

    // Find marker elements within map.
    var $markers = $el.find('.marker');

    // Create gerenic map.
    var mapArgs = {
        zoom        : $el.data('zoom') || 16,
        mapTypeId   : google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map( $el[0], mapArgs );

    // Add markers.
    map.markers = [];
    $markers.each(function(){
        initMarker( $(this), map );
    });

    // Center map based on markers.
    centerMap( map );

    // Return map instance.
    return map;
}

/**
 * initMarker
 *
 * Creates a marker for the given jQuery element and map.
 *
 * @date    22/10/19
 * @since   5.8.6
 *
 * @param   jQuery $el The jQuery element.
 * @param   object The map instance.
 * @return  object The marker instance.
 */
function initMarker( $marker, map ) {

    // Get position from marker.
    var lat = $marker.data('lat');
    var lng = $marker.data('lng');
    var latLng = {
        lat: parseFloat( lat ),
        lng: parseFloat( lng )
    };

    // Create marker instance.
    var marker = new google.maps.Marker({
        position : latLng,
        map: map
    });

    // Append to reference for later use.
    map.markers.push( marker );

    // If marker contains HTML, add it to an infoWindow.
    if( $marker.html() ){

        // Create info window.
        var infowindow = new google.maps.InfoWindow({
            content: $marker.html()
        });

        // Show info window when marker is clicked.
        google.maps.event.addListener(marker, 'click', function() {
            infowindow.open( map, marker );
        });
    }
}

/**
 * centerMap
 *
 * Centers the map showing all markers in view.
 *
 * @date    22/10/19
 * @since   5.8.6
 *
 * @param   object The map instance.
 * @return  void
 */
function centerMap( map ) {

    // Create map boundaries from all map markers.
    var bounds = new google.maps.LatLngBounds();
    map.markers.forEach(function( marker ){
        bounds.extend({
            lat: marker.position.lat(),
            lng: marker.position.lng()
        });
    });

    // Case: Single marker.
    if( map.markers.length == 1 ){
        map.setCenter( bounds.getCenter() );

    // Case: Multiple markers.
    } else{
        map.fitBounds( bounds );
    }
}

// Render maps on page load.
$(document).ready(function(){
    $('.acf-map').each(function(){
        var map = initMap( $(this) );
    });
});

})(jQuery);
</script>

بعد ذلك ، تحتاج إلى عرض حقل Adreess أسفل الرمز الأخير مباشرةً ، والصق التالي

<?php 
$address = get_field('address ');
if( $address ): ?>
    <div class="acf-map" data-zoom="16">
        <div class="marker" data-lat="<?php echo esc_attr($address ['lat']); ?>" data-lng="<?php echo esc_attr($address ['lng']); ?>"></div>
    </div>
<?php endif; ?>

حقل CITY

في هذه الحالة ، لدينا خياران ، إذا أعطيت قيمة واحدة فقط استخدم هذا الرمز

<?php
$name= get_field( 'city_name' );
// Create a comma-separated list from selected values.
if( $name): ?>
<p>City : <?php echo implode( ', ', $name); ?></p>
<?php endif; ?>

ولكن في حالة تقديم أكثر من قيمة ​​، فأنت بحاجة إلى استخدام هذا الرمز

<?php
$name= get_field( 'city_name' );
?>
<p>City : <span class="city-<?php echo esc_attr($name['value']); ?>"><?php echo esc_html($name['label']); ?></span></p>

الحقل Price

<p>Price : <?php the_field('price'); ?></p>

الحقل Rooms Number

<p>Rooms Number: <?php the_field('rooms_number'); ?></p>

الحقل Living Space

<p>Living Space: <?php the_field('living_space'); ?></p>

هذا كل شيء ، هل من الصعب استخدام ACF (الحقول المخصصة المتقدمة)

يمكنك تحقيق المزيد والمزيد باستخدام هذا المكون الإضافي الرائع ، فقط قابلني في دروس أخرى لتعليمك كيفية إنشاء أكثر من هذا


اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *




مقالات مرتبطة

 منع نسخ المقالات و محتوى موقع ووردبريس

منع نسخ المقالات و محتوى موقع ووردبريس

من الأشياء التي تسبب الازعاج احياناً , عندما تقوم بقضاء الساعات الطوال في..

Read More
 اضافة خيارات لصفحة تخصيص قالب ووردبرس

اضافة خيارات لصفحة تخصيص قالب ووردبرس

من المعروف انه لكل قالب في ووردبريس له صفحة تخصيص تستطيع التحكم من..

Read More
 كيفية انشاء وتعديل التذييل لموقع ووردبريس

كيفية انشاء وتعديل التذييل لموقع ووردبريس

في الكثر من المواقع تجد في اسفلها حقوق النسخ CopyRight أو لربما يذكر..

Read More
 أفضل بدائل جوجل أدسنس – الربح من الانترنت

أفضل بدائل جوجل أدسنس – الربح من الانترنت

أفضل وأسرع طرق الربح من الانترنت في حالة إمتلاك موقع إلكتروني أيًا كان..

Read More