Настройка the_content для WordPress - PullRequest
0 голосов
/ 24 февраля 2012

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

Хорошо, проблема 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);

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

1 Ответ

0 голосов
/ 24 февраля 2012

Вы не должны добавлять это в functions.php!

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...