我如何组合2个函数,只有一个运行,如果另一个没有选择选项



我试图运行一个函数,它是使用一个特色的图像作为我的标题图像在我的网页上,我想包括的选项,也允许我的最终用户之间选择使用特色的图像或选择滑块,而不是如果他们希望使用该页面取决于这里是我有特色的图像开发的代码。

add_action('neve_before_primary', 'getPageFeaturedImage', 5);
function getPageFeaturedImage() {
//  These two variables will only be used if set
$pageTitle = get_field('page-title');
$pageSecondTitle = get_field('page_second_title');
if (has_post_thumbnail($post -> ID) ) {
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post -> ID ), 'single-post-thumbnail');

<div class="featured-image-container">
<img src="<?php echo $image[0]; ?>" class="featured-image">
</div>
</div>

这段代码在运行时使特色图像成为页面上的主图像,上面有一个标题容器,上面有一些css,这对这个问题无关紧要,下面你会发现我为滑动条编写的代码。

function smartsliderheader() {
echo '<div class="smart-slider-header">';
$slider = get_field("smart_slider_header"); 
echo do_shortcode($slider); 
}

这本身就做了我需要做的事情,特色图像代码工作,滑动条也是如此,但让它们一起运行,如果另一个没有使用选项,只有一个运行,我可以使用一些帮助。

对此有任何帮助将不胜感激。如果我遗漏了什么,我期待着你的问题。

我将简单地使用if语句来检查$pageTitle$pageSecondTitle是否为空

if(empty($pageTitle) && empty($pageSecondTitle)) {
// do stuff for when settings aren't filled in
}
else {
// do stuff for when settings are filled in.
}
我不知道这是否回答了你的问题。让我知道这是否符合你想要的方向,这样我就可以在它的基础上进一步发展。

我实际上能够通过执行以下代码自己解决这个问题,我们使用2个变量,一个用于特色图像,另一个用于滑块,请查看下面的代码和解释。

if(!$checkFeaturedImage and !$slider) { 
return null ; 
} 

这是检查这两个变量中的任何一个是否有一个值分配给它们,例如,如果一个特征图像被选中,一个值将被分配给它,反之亦然,对于滑动条这是做什么,如果这两个都没有值,它将停止函数的其余部分运行并节省站点上的渲染时间。

if ($slider) {
echo '<div class="header-featured-image">' ; 
echo do_shortcode($slider); 
echo '</div>' ;
}

它所做的是调用一个高级自定义字段,设置允许选择滑块,如果返回值,则该值将直接返回到页面上。

else {
if (has_post_thumbnail($post -> ID) ) {
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post -> ID ), 'single-post-thumbnail'); }
?>
<div class="header-featured-image"> 
<div class="featured-image-container">
<img src="<?php echo $image[0]; ?>" class="featured-image">
</div>
</div>
}
<?php
}

如果我们的页面编辑器返回了一个值,它将在我们的页面上显示我们的特色图像

这段代码的设置方式是,如果一个特征图像和一个滑动条都被选中,它将默认返回到一个滑动条,因为这是第一次调用,并且由于开始时的null语句,如果没有选择任何内容,则不会运行,从而节省一些渲染时间。

相关内容