WedX - журнал о программировании и компьютерных науках

Есть ли реальный способ вытащить избранное изображение из сообщения в блоге в div на другом шаблоне страницы в качестве фонового изображения?

Я пытаюсь добавить сетку сообщений блога в шаблон моей домашней страницы. Я вытащил контент из 4 постов в блоге, теперь мне просто нужно вытащить избранное изображение в качестве фона для каждого div.

Вот мой текущий, наполовину законченный код, фоновый встроенный стиль сейчас не работает, и я не могу понять, почему.

<?php /* Template Name: Home Content Template*/ ?>
<?php get_header(); ?>



<div class="row show-grid lrds-hm-grd-wrppr">
  <div class="span2 lrds-hm-grd-bx lrds-hm-grd-bx-2" data-original-title="" title="" style="background url (<?php echo get_the_post_thumbnail_url($post_id1, 'full'); ?>) center center;  background-size: cover;  background-repeat: no-repeat;">
    <?php
    $post_id1 = 172;
    $queried_post = get_post($post_id1);
    ?>
    <h2><?php echo $queried_post->post_title; ?></h2>
    <?php echo $queried_post->post_content; ?>
  </div>

  <div class="span2 lrds-hm-grd-bx lrds-hm-grd-bx-2" data-original-title="" title="" style="background url (<?php echo get_the_post_thumbnail_url($post_id2, 'full'); ?>) center center;   background-size: cover;   background-repeat: no-repeat;">
    <?php
    $post_id2 = 174;
    $queried_post = get_post($post_id2);
    ?>
    <h2><?php echo $queried_post->post_title; ?></h2>
    <?php echo $queried_post->post_content; ?>
  </div>

  <div class="span3 lrds-hm-grd-bx lrds-hm-grd-bx-3" data-original-title="" title="" style="background url (<?php echo get_the_post_thumbnail_url($post_id3, 'full'); ?>) center center;   background-size: cover;   background-repeat: no-repeat;">
    <?php
    $post_id3 = 176;
    $queried_post = get_post($post_id3);
    ?>
    <h2><?php echo $queried_post->post_title; ?></h2>
    <?php echo $queried_post->post_content; ?>
  </div>

  <div class="span4 lrds-hm-grd-bx lrds-hm-grd-bx-4" data-original-title="" title="" style="background url (<?php echo get_the_post_thumbnail_url($post_id4, 'full'); ?>) center center;   background-size: cover;   background-repeat: no-repeat;">
    <?php
    $post_id4 = 210;
    $queried_post = get_post($post_id4);
    ?>
    <h2><?php echo $queried_post->post_title; ?></h2>
    <?php echo $queried_post->post_content; ?>
  </div>
</div>

  <div class="row">
    <div class="col-md-2">

    </div>

    <div class="col-md-8">

      <?php if(have_posts()) : ?>
         <?php while(have_posts()) : the_post(); ?>
        <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
          <?php the_title('<h2>','</h2>'); ?>
          <?php the_content(); ?>
        </div>

      <?php
          // tags anyone?
          the_tags();

        ?>
         <?php endwhile; ?>

      <?php if (!is_singular()) : ?>
        <div class="nav-previous alignleft"><?php next_posts_link( 'Older posts' ); ?></div>
        <div class="nav-next alignright"><?php previous_posts_link( 'Newer posts' ); ?></div>
      <?php endif; ?>

      <?php else : ?>

      <div class="alert alert-info">
        <strong>No content in this loop</strong>
      </div>

      <?php endif; ?>

    </div>

    <div class="col-md-2">

      <?php
       if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Sidebar')) : //  Sidebar name
      ?>
      <?php
           endif;
      ?>
    </div>

  </div>

<?php get_footer(); ?>
12.05.2017

  • Вам нужно передать идентификатор сообщения в URL-адрес эскиза, который вам нужен. После полной отдачи. , $post_id 12.05.2017
  • Итак, вы имеете в виду, просто добавьте его сюда, и он должен появиться? Или я что-то еще упускаю...? ‹div class=span2 lrds-hm-grd-bx lrds-hm-grd-bx-2 data-original-title= title= style=background:URL(‹?php the_post_thumbnail_url('full', $post_id); ?› ) центр центр; размер фона: обложка; фоновый повтор: без повтора;› 12.05.2017
  • поставил ответ, просто попробуйте 12.05.2017

Ответы:


1

да просто передайте это так во всех ваших

background url (<?php echo wp_get_attachment_url (get_post_thumbnail_id( $post_id($post_id)); ?>)
12.05.2017
  • Я думал, это то, что вы имели в виду. К сожалению, я попробовал это раньше, и это вообще не работает. Мне было интересно, может быть, есть что-то еще, что я должен делать, например, в functions.php или что-то в этом роде? 12.05.2017
  • и измените имена переменных, например, post_id1, post_id2. не держите их такими же 12.05.2017
  • Угу, я все еще не могу заставить его работать. Это придурок. Может быть, я применил ваш ответ неправильно? Хотя не похоже. 12.05.2017
  • ‹div class=row show-grid lrds-hm-grd-wrppr› ‹div class=span2 lrds-hm-grd-bx lrds-hm-grd-bx-2 data-original-title= title= стиль=фоновый URL ( ‹?php echo get_the_post_thumbnail_url($post_id1, 'полный'); ?›) center center; размер фона: обложка; background-repeat: no-repeat;› ‹?php $post_id1 = 172; $queried_post = get_post($post_id1); ?› ‹h2›‹?php echo $queried_post-›post_title; ?› ‹/h2› ‹?php echo $queried_post-›post_content; ?› ‹/дел› 12.05.2017
  • Так что же случилось? 12.05.2017
  • Ничего не произошло, он по-прежнему не загружает избранное изображение для фона. Я понятия не имею, почему, это все выглядит правильно для меня. Так что я просто совершенно сбит с толку, почему. 12.05.2017
  • Как видите, у меня нет проблем с извлечением содержимого поста. Но избранные изображения не тянутся к фону каждого div. imgur.com/a/x6Pjv 12.05.2017
  • Можете ли вы увидеть источник и сказать мне, что распечатывается в части URL? 12.05.2017
  • ‹div class=span2 lds-hm-grd-bx lrds-hm-grd-bx-2 data-original-title= title= style=background url (‹br /› ‹b›Notice‹/b›: Неопределенная переменная: post_id1 в ‹b›/Applications/MAMP/htdocs/lourdes-cardio/wp-content/themes/LourdesBS/page-templates/home-content.php‹/b› в строке ‹b›7‹/b›‹br / › ) центр центр; размер фона: обложка; фоновый повтор: без повтора;› 12.05.2017
  • Это странно, потому что я определенно определил переменную. 12.05.2017
  • отредактировали мой ответ и объявили этот идентификатор сообщения до начала div 12.05.2017
  • теперь он будет работать, так как он не получал идентификатор сообщения. для каждого изображения объявляйте идентификатор сообщения перед div 12.05.2017
  • Итак, теперь я просто получаю синтаксическую ошибку, и моя страница разрывается. Хотя не похоже, что чего-то не хватает. 12.05.2017
  • ‹?php $post_id1 = 172; $queried_post = get_post($post_id1); ?› ‹div class=row show-grid lrds-hm-grd-wrppr› ‹div class=span2 lrds-hm-grd-bx lrds-hm-grd-bx-2 data-original-title= title= style=background url (‹?php echo wp_get_attachment_url (get_post_thumbnail_id($post_id($post_id)); ?›) по центру; размер фона: обложка; повтор фона: без повтора;› 12.05.2017
  • Exprator, Большое спасибо за помощь. 12.05.2017
  • Не забудьте поставить палец вверх за ответ и проголосовать. Спасибо 13.05.2017

  • 2

    Вот пример рабочего файла с фоновым изображением, извлекаемым из избранного изображения той же страницы, а не из отдельного сообщения в блоге (что я сейчас пытаюсь сделать в другом шаблоне).

    'код'

    <?php $title = trim(get_field("custom_headline"));
        // check for custom title different from page name
        if ($title == "") {
            $title = Trim(get_the_title()); 
        }        
     ?>
    <h2><?php echo $title; ?></h2>
    <?php
        global $related_du;
        $rel = $related_du->show( get_the_ID(), true );
        $boxTitle = array();
        $boxContent = array();
        $i = 0;
    
        // Display the title of each related post
        if( is_array( $rel ) && count( $rel ) > 0 ) {
            foreach ( $rel as $r ) {
                if ( is_object( $r ) ) {
                    if ($r->post_status != 'trash') {
                        //echo get_the_title( $r->ID ) . '<br />';
                        //echo get_post($post = $r->ID ) . '<br />';
    
                        $displayString = "";
                        $content_post = get_post($r->ID);
                        $boxTitle[$i] = $content_post->post_title;
                        $content = $content_post->post_content;
                        $content = apply_filters('the_content', $content);
                        $content = str_replace(']]>', ']]&gt;', $content);
    
                        $boxContent[$i] =  $content;
                        $i++;
    
    
                    }
                }
            }
        }
    ?>
    
    
    
    <div class="hero2box" style="background:URL(<?php the_post_thumbnail_url( 'full' ); ?>) center center;  background-size: cover;     background-repeat: no-repeat;">
        <div class="col-sm-1"></div>
        <div class="col-sm-5 tanLeft">
            <h4><?php echo $boxTitle[0] ; ?></h4>
            <hr class="red">
            <?php echo $boxContent[0] ; ?>
        </div>
        <div class="col-sm-5 tanRight">
            <h4><?php echo $boxTitle[1] ; ?></h4>
            <hr class="red">
            <?php echo $boxContent[1] ; ?>
        </div>
        <div class="col-sm-1"></div>
    </div>
    
    <div class="row">
        <div class="col-md-2">
    
        </div>
    
        <div class="col-md-8">
    
    
    
    
    
           <?php while(have_posts()) : the_post(); ?>
            <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    
                <?php the_content(); ?>
    
    
                <?php //echo get_post_type(); ?>
            </div>
    
        <?php
                // tags anyone?
                the_tags();
    
            ?>
           <?php endwhile; ?>
    
        <?php if (!is_singular()) : ?>
            <div class="nav-previous alignleft"><?php next_posts_link( 'Older posts' ); ?></div>
            <div class="nav-next alignright"><?php previous_posts_link( 'Newer posts' ); ?></div>
        <?php endif; ?>
    
        <?php else : ?>
    
        <div class="alert alert-info">
          <strong>No content in this loop</strong>
        </div>
    
        <?php endif; ?>
    
    
    
    
    </div>
    
    <div class="col-md-2">
    
        <?php
         if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('Sidebar')) : //  Sidebar name
        ?>
        <?php
             endif;
        ?>
    </div>
    

    <?php
        global $related;
        $rel = $related->show( get_the_ID(), true );
    
        // Display the title of each related post
        if( is_array( $rel ) && count( $rel ) > 0 ) {
            foreach ( $rel as $r ) {
                if ( is_object( $r ) ) {
                    if ($r->post_status != 'trash') {
                        //echo get_the_title( $r->ID ) . '<br />';
                        //echo get_post($post = $r->ID ) . '<br />';
    
                        $displayString = "";
                        $content_post = get_post($r->ID);
                        $content = $content_post->post_content;
                        $content = apply_filters('the_content', $content);
                        $content = str_replace(']]>', ']]&gt;', $content);
    
                        $displayString = $displayString  . $content .  "";
                        echo $displayString;
    
    
                    }
                }
            }
        }
    ?>
    

    'code'

    12.05.2017

    3

    Хорошо Решено! Я должен был быть более простым, потому что иногда я тупой. :П

    <?php
        $post_id1 = 172;
        $queried_post = get_post($post_id1);
    ?>
    <div class="row show-grid lrds-hm-grd-wrppr">
      <div class="span2 lrds-hm-grd-bx lrds-hm-grd-bx-2"   style="background:url(<?php echo wp_get_attachment_url(get_post_thumbnail_id( $post_id1)); ?>)    ">
    
        <h2><?php echo $queried_post->post_title; ?></h2>
        <?php echo $queried_post->post_content; ?>
      </div> 
    
    12.05.2017
    Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

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

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]