所以我有一个显示链接的自定义字段:
<li><a href="<?php echo get_post_meta($post->ID, 'link_banner', true); ?>" target="<?php echo get_post_meta($post->ID, 'target_banner', true); ?>"><?php the_post_thumbnail(); ?></a></li>
链接横幅代表:
function link_banner(){
global $post;
$custom = get_post_custom($post->ID);
$link_banner = $custom["link_banner"][0];
?>
<label>Link do banner:</label><br/>
<input name="link_banner" type="text" value="<?php echo $link_banner; ?>" />
<?php
}
我需要的是:
如果客户希望页面在WordPress网站内显示链接,则目标将是_self。如果客户希望页面显示OUTSITE wordpress,则目标将是_blank。
我创建了另一个名为target_banner
的函数function target_banner(){
global $post;
$custom = get_post_custom($post->ID);
$link_banner = $custom["link_banner"][0];
?>
<label>Target do banner:</label><br/>
<select>
<option name="_blank" value="_blank">Nova Janela</option>
<option name="_self" value="_self">Mesma Janela</option>
</select>
<?php
}
问题是:它不起作用。解决方案是什么? :(
这个想法是:
客户端可以选择显示相同的窗口或新窗口。
我试过了,我搜索了所有StackOverflow和Google,但我找不到。
非常感谢。 :)
网站就是这个:Ítalo Bianchi。
幻灯片中使用了这个大代码。
所以在后端我有三个字段。
“Legenda”是标题(现在不会使用); “链接”用于井......链接; 如果链接将在新窗口或同一窗口中打开,则为“目标”。
因此,所有内部链接将在同一窗口中打开,所有外部链接将在新窗口中打开。抱歉。我原来的帖子有点令人困惑。
答案 0 :(得分:0)
我不清楚你写的函数的上下文。 无论如何,我可能会用你的代码做到这一点:
function my_tsel($a, $b){
if ($a == $b){
echo ' selected';
}
}
function target_banner(){
global $post;
$custom = get_post_custom($post->ID);
$target_banner = $custom["target_banner"][0];
?>
<label>Target do banner:</label><br/>
<select name="taget_banner">
<option value="_blank"<?php my_tsel($target_banner, '_blank'); ?>>Nova Janela</option>
<option value="_self"<?php my_tsel($target_banner, '_self'); ?>>Mesma Janela</option>
</select>
<?php
}
总的来说,我可能更喜欢在一个小函数中自动执行检查(例如在function.php中)去掉target_banner()
<?php
function my_link(){
$lnk = get_post_meta($post->ID, 'link_banner', true);
$target = (strstr($lnk, get_bloginfo('url'))) ? '_self' : '_blank';
echo '<li><a href="'.$lnk.'" target="'.$target.'">';
the_post_thumbnail();
echo '</a></li>';
}
?>
在我看来(让我们说single.php)
<?php my_link(); ?>