2012-02-24 5 views
0

Для моего сайта я создал custom post type с custom fields. Хотя я выяснил, как отображать пользовательские поля в цикле, я обнаружил, что не смог воспользоваться способностью wordpress использовать the_except, и, следовательно, мой слайдер, который работает на wordpress, the_except был пуст. Поэтому я придумал идею ввода моих собственных полей непосредственно в the_content через функцию function.php. Это, как хорошо работает, по большей части, но у меня есть несколько трудностей. Прошу прощения, но я не очень продвинутый в php. Поэтому, если ответ прост, пожалуйста, простите.Настройка the_content для wordpress

Хорошо, проблема 1: я не могу получить свое изображение для показа. Я пробовал работать с кодом несколькими способами, и лучше всего я могу получить URL-адрес или значок с поврежденным изображением.

Задача 2: У меня есть несколько названий, которые я хочу показать до ввода мета полей, но я хочу, чтобы их внешний вид на мета-поле имел положительное значение.

function custom_post_type_default_content($content) { 
global $post; global $wp_query; 
if ($post->post_type == 'recipes') { 
$content .= 
'<p> <div id="recipe_name"><h1>'. 
     get_post_meta($post->ID, "recipe_name", true).' 
</h1><p></div> 
<br /> 
<p> <div id="recipe_image"> 
     '.get_post_meta($post->ID, 'recipe_image', true).' 
     <p> 
</p></div> 
<br /> 
<p><div id="serves"><b> Serves: </b>'. 
     get_post_meta($post->ID, "serves", true).' 
</p></div> 
<br /> 
<p><div id="prep_time"><b> Preparation Time: </b>'. 
     get_post_meta($post->ID, "prep_time", true).' 
</p></div> 
<br /> 
<p><div id="wpcf-ingredients"><b> Ingredients: </b><br />'. 
     get_post_meta($post->ID, "wpcf-ingredients", true).' 
</p></div> 
<br /> 
<p><div id="wpcf-cooking_instructions"><b> Cooking Instructions: </b><br />'. 
     get_post_meta($post->ID, "wpcf-cooking_instructions", true).' 
</p></div> 
<br /> 
<p><div id="additional_information"><b> Additional Information: </b><br />'. 
     get_post_meta($post->ID, "additional_information", true).' 
</p></div>';} 
return $content; 
} 

add_filter('the_content', 'custom_post_type_default_content', 1); 

Этот код фактически функциональный, с вышеупомянутыми исключениями. Кто-нибудь может предложить, как добавить условные обозначения в код или исправить изображение?

ответ

0

Нельзя добавить это в functions.php!

Содержимое будет выплевываться на какую-то страницу, возможно, в настоящее время single.php, и вы не хотите редактировать single.php, потому что это будет иметь влияние на все страницы.

Как видно из вашего примера, это страница single для отображения recipes. Итак, дублируем single.php; вызовите файл single-recipes.php и работайте оттуда.

Обратите внимание: http://codex.wordpress.org/Template_Hierarchy, чтобы узнать больше о иерархии файлов.

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