2013-04-23 3 views
0

Ive много искал этот ответ, но не мог его обработать.Как добавить пользовательские поля в пользовательскую тему

Я создал два пользовательских поля для страниц и сообщений: один для фонового изображения и один для фона.

Тогда я назвал изменения в моей голове, как это:

<style type="text/css"> 
<?php 
$image = get_post_meta($post->ID, 'background-image', true); 
$bgcolor = get_post_meta($post->ID, 'background-color', true);?> 

#wrapper { background-image: url('<?php echo $image ?>'); 
background-size: 100% auto; 
background-repeat: no-repeat; 
background-color: <?php echo $bgcolor ?>; 
} 
</style> 

</head>` 

Я не хочу, чтобы создать пользовательские поля в каждом месте я использую эту тему, поэтому я хочу, чтобы добавить пользовательские поля к теме (кодированный). Как я могу добавить его в мои functions.php или page.php или где бы он ни находился?

ответ

0

Вы звоните в этот внутренний цикл?

Конечно, да, поскольку вы используете get_post_meta($post->ID, 'background-image', true);, и таким образом вы пытаетесь выполнить код на стороне сервера, чтобы обновить код на стороне клиента. Я не знаю, какой из них выполняется первым, но я просто хочу вызвать такой вопрос, чтобы представить вам мой подход.

Я думаю, вы должны думать об использовании JQuery для управления такого вопроса:

Идея:

  • получить значение стороны сервера пользовательского поля и поместить его в качестве переменного атрибута (класса или идентификатора или любой атрибут) вашего фонового div.
  • создать внешний файл jQuery, который будет прослушивать документ и изменять свойства CSS на основе полученного атрибута. Я уверен, что есть функция с jQuery, которая управляет CSS. Используйте плагин как More fields, чтобы легко управлять своими настраиваемыми полями и избегать слишком большого количества кодировок.

Во-вторых, на самом деле не очень удобно вводить встроенный CSS в свой код, оптимальным способом является вызов внешних файлов CSS. Это правило также применимо для JS-скриптов.

Главное, чтобы знать, как отделить серверную сторону с клиентской стороной. Успехов

+0

Спасибо, но я не понимаю: $ извините! Мне нужно добавить код в мою тему, чтобы объявить пользовательские поля, не добавляя их в wordpress admin. Я знаю, что на этом сайте уже есть, потому что я добавил их, но я хочу знать обходное решение, чтобы закодировать пользовательские поля и отображать их в чистой установке wp, просто установите мою тему и разместите ее в своих сообщениях/страницах. Есть ли способ сделать это? –

0

Здесь Вы можете найти ответ на свой вопрос:

Wordpress Custom Fields for Custom Post Types

Или вы здесь:

http://5wpthemes.com/blog/adding-and-displaying-custom-fields-and-values-in-wordpress/

+1

Мне очень жаль, но я думаю, что вы здесь не совсем поняли. Я уже создал настраиваемые поля и отображаю их. Но я хочу иметь возможность сделать одно: добавьте эти настраиваемые поля в мою тему, не добавляя их вручную, потому что ... эти настраиваемые поля сохраняются в базе данных правильно? не в моем коде ... Если я использую эту тему в другой базе данных, у меня не будет пользовательских полей. Я хочу зарегистрировать/объявить их в своей теме. Не отображать их, у меня уже есть это в моей теме. –

+0

@CynthiaLara вы решили? – iEmanuele

+0

Нет, мне удалось использовать плагин «расширенные настраиваемые поля», –

Смежные вопросы