Добавление произвольных полей для настройки отдельного фона для категории

Здравствуйте! Необходимо добавить произвольные поля, чтоб меняя ссылку к картинке в этом поле, менялся фон для записи из данной категории! Реально-ли это сделать, ну, например при помощи плагина ACF

Добавить Комментарий

Создайте произвольное поле для картинки при помощи ACF(там для этого дела конструктор вроде как есть).

Затем в нужном месте выводите:


<div class="" style="background:  url("<?php echo get_field('название_вашего_поля', $post->ID) ?>") no-repeat;">
// ваш код
</div>

Добавить Комментарий

Создал поле в плагине, но сразу здесь проблема: в админке в записи это поле есть, есть кнопка добавить изображение, но она не работает. Настройки пробовал разные, возвращал и объект и ссылку на изображение и ID изображения. Но всё-равно ничего не происходит, и кнопка вроде активна, но при нажатии на нее ничего нельзя добавить, изменить. Вот настройки которые сейчас в плагине

RE: Добавление произвольных полей для настройки отдельного фона для категории

Вывожу при помощи файла single-fon.php там почти все тоже самое что и в single.php только ваш код после header. Поле называется ‘fon’ Вот код. Файл закинул в папку theme

<?php

/**

* The Template for displaying all single posts.

*

* @package AccesspressLite

*/
get_header();

global $accesspresslite_options, $post;

$accesspresslite_settings = get_option( 'accesspresslite_options', $accesspresslite_options );

$post_class = get_post_meta( $post -> ID, 'accesspresslite_sidebar_layout', true );

?>
<div class="pole" style="background: url("<?php echo get_field('fon', $post->ID) ?>") no-repeat;">

</div>
<div class="ak-container">

<?php

if ($post_class=='both-sidebar') { ?>

<div id="primary-wrap" class="clearfix">

<?php }

?>

<div id="primary" class="content-area">

<main id="main" class="site-main" role="main">
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', 'single' ); ?>
<?php // accesspresslite_post_nav(); ?>
<?php

// If comments are open or we have at least one comment, load up the comment template

if ( comments_open() || '0' != get_comments_number() ) :

comments_template();

endif;

?>
<?php endwhile; // end of the loop. ?>
</main><!-- #main -->

</div><!-- #primary -->
<?php

get_sidebar('left');
if ($post_class=='both-sidebar') { ?>

</div>

<?php }
get_sidebar('right'); ?>

</div>
<?php get_footer(); ?>

Выберите «Вернуть значение» — ссылка на изображение. Так же сделайте скриншот как выглядит поле при добавлении записи.

в 07.03.2017.
Добавить Комментарий

Да, я сделал ссылкой! Проблема в том что при клике на кнопку она как бы реагирует, но ничего не происходит. Я попытался исследовать этот элемент в панели разработчиков, вот какие ошибки он показал

RE: Добавление произвольных полей для настройки отдельного фона для категории

Попробуйте добавить в functions.php


function onwp_scripts_method() {

wp_enqueue_script( 'jquery-ui-core' );

}
add_action( 'admin_enqueue_scripts', 'onwp_scripts_method' );

Ошибки останутся те же?

в 07.03.2017.
Добавить Комментарий

Там в любое место этот код можно добавить?

Добавить Комментарий

Добавил в конец файла, вот концовка кода

/**

* Implement the More Theme Page

*/

require get_template_directory() . '/inc/more-themes.php';

add_filter('widget_text', 'do_shortcode');

/**

* Для произвольных полей

*/
function onwp_scripts_method() {
wp_enqueue_script( 'jquery-ui-core' );
}

add_action( 'admin_enqueue_scripts', 'onwp_scripts_method' );

Итог, вроде тот же

RE: Добавление произвольных полей для настройки отдельного фона для категории

Вам нужно по очереди отключать плагины, и проверять не исчезнут ли ошибки. Где то есть  ошибка в js либо в плагинах либо в самом шаблоне.

в 07.03.2017.
Добавить Комментарий

Отключил все плагины кроме  ACF. Результат тот же, думаете дело в шаблоне?

Думаю да, если есть возможность проверьте локально. Попробуйте на стандартном шаблоне добавить данное поле.

А на других страницах в админке есть подобные ошибки в консоле?

в 07.03.2017.
Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.