我的網站上有視頻的自定義帖子型別。它們以卡片的形式顯示在頁面上。一個帖子是一張圖片、一個視頻卡的標題和一個鏈接。當您單擊卡片時,應該會打開一個帶有視頻的彈出視窗。我使用 WP_Query 回圈顯示視頻卡。我的問題是我不知道如何鏈接到視頻。帖子沒有一頁。在創建帖子并顯示它時,我需要以某種方式指定指向它的鏈接。我怎樣才能做到這一點?
<?php $video_link = get_field('video_link'); ?>
<?php
$case = new WP_Query( array(
'post_type' => 'videos',
'paged' => -1,
'order' => 'DESC',
) );
while ( $case->have_posts() ) : $case->the_post(); ?>
<?php $cur_terms = get_the_terms( $case->post->ID, 'categories' ); ?>
<li class="portfolio-section__item __js_masonry-item>
<a hljs-attr">project-preview project-preview--elastic" data-fancybox href="<?php echo $video_link ?>">
<span class="project-preview__image">
<img src="<? the_post_thumbnail_url() ?>" alt="<?php the_title(); ?>">
<span class="hover-button">
<svg width="17" height="19">
<use xlink:href="#triangle"></use>
</svg>
</span>
</span>
<span class="project-preview__bottom">
<span class="project-preview__title"><?php the_title(); ?></span>
<span class="project-preview__icon">
<svg width="24" height="23">
<use xlink:href="#link-arrow2"></use>
</svg>
</span>
</span>
</a>
</li>
<?php endwhile;
$case->reset_postdata(); ?>
uj5u.com熱心網友回復:
內置的自定義欄位方法將是最快和最簡單的,但不是最優雅的。
這是添加自定義元框和欄位的更優雅的方法。
// Hook a new metabox
add_action( 'add_meta_boxes', 'add_custom_box' );
function add_custom_box() {
$screens = [ 'videos' ];
foreach ( $screens as $screen ) {
add_meta_box(
'unique_box_identifier', // Unique ID
'Custom Meta Box Title', // Box title
'custom_box_html', // Content callback, this calls the markup function below
$screen // Post type
);
}
}
// Field Markup
function custom_box_html( $post ) {
$value = get_post_meta( $post->ID, 'video_link', true );
?>
<label for="video_link">Link URL: </label>
<input type="url" name="video_link" id="video_link" value="<?php if (isset($value)) { echo $value; } ?>" />
<?php
}
// Save the metadata with the post
add_action( 'save_post', 'save_postdata' );
function save_postdata( $post_id ) {
if ( array_key_exists( 'video_link', $_POST ) ) {
update_post_meta(
$post_id,
'video_link',
$_POST['video_link']
);
}
}
然后要獲取在模板中使用的值,只需像這樣呼叫:
$value = get_post_meta( $post->ID, 'video_link', true );
echo $value;
源檔案:
- https://developer.wordpress.org/plugins/metadata/custom-meta-boxes/
- https://developer.wordpress.org/reference/functions/get_post_meta/
uj5u.com熱心網友回復:
我可能會簡單地將鏈接添加到自定義帖子型別的內容中,據我所知您沒有使用它。或者您也可以將其添加為摘錄。
最后一個解決方案是使用 ACF 插件(高級自定義欄位)并為視頻鏈接創建一個自定義欄位。
希望這可以幫助
uj5u.com熱心網友回復:
你必須使用wp_get_attachment_url(get_post_meta( get_the_ID(), "key_of_video", true))
您如何將視頻存盤在帖子型別中?
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/525719.html
標籤:phpWordPress
