我正在创建一个新的棒球博客。当提交一篇文章时,我希望作者引用他们的来源作为新闻类型的文章。
我创建了一个带有三个自定义字段的自定义元框:
源标题,源的标题。字段名称-source\\u title源URL,源的URL。字段名称-source\\u url源名称,信息的人员或网站的名称。Field name-source\\u name我想显示作者提供的每一点信息,因此值得称赞。
代码的输出(所有字段都存在)如下所示:
<h3><a href="source_url">source_title</a> | source_name</h3>
输入source\\u url而不是source\\u标题时,输出应为:
<h3><a href="source_url">source_url</a> | source_name</h3>
(如果可能的话,最好将source\\u url删减到25个左右的字符,并删除http://
通过在其他地方的搜索和帮助,这就是我目前所拥有的:
<?php
$seperator = \'\';
$name = get_post_meta($post->ID, \'source_name\', true);
$url = get_post_meta($post->ID, \'source_url\', true);
$title = get_post_meta($post->ID, \'source_title\', true);
if($title != \'\' || $name != \'\' || ($url != \'\' && $title != \'\')){
$output = \'<h3>Source: \';
$output .= ($url != \'\' && $title != \'\') ? \'<a href="\'.$url.\'">\': \'\';
if($title != \'\' && $name != \'\') {
$seperator = \' | \';
}
$output .= $title;
$output .= ($url != \'\' && $title != \'\') ? \'</a>\': \'\';
$output .= $seperator.$name;
echo $output . \'</h3>\';
}
?>
What works:
<输入所有三个字段后,一切都很完美当输入标题和名称,但不是url时,一切都是完美的输入标题和url,但不输入名称时,一切都是完美的当只输入名称时,一切都很完美
The problems:
<当输入url和名称但没有标题时,只显示名称在这种情况下,我想显示:
<h3><a href="source_url">source_url</a> | source_name</h3>
如果只输入url(没有标题或名称),则不会显示任何内容,则类似情况也是如此在这种情况下,我想显示:
<h3><a href="source_url">source_url</a></h3>
提前感谢您帮助这位新手。
最合适的回答,由SO网友:turbonerd 整理而成
我不确定我是否满足了您的所有要求,但我认为这可能会奏效。
<div class="source">
<?php
$name = get_post_meta($post->ID, \'sourcename\', true);
$url = get_post_meta($post->ID, \'sourceurl\', true);
$title = get_post_meta($post->ID, \'sourcetitle\', true);
$snippet = str_replace( "http://", "", $url );
$snippet = substr( $snippet, 0, 22 ) . "...";
if ( !empty( $title ) && !empty( $name ) && !empty( $url ) )
$output = \'<h3 class="cite"><a href="\' . $url . \'">\' . $title . \'</a> | \' . $name . \'</h3>\';
else if ( !empty( $name ) && !empty( $url ) )
$output = \'<h3 class="cite"><a href="\' . $url . \'">\' . $name . \'</a></h3>\';
else if ( !empty( $title ) && !empty( $url ) )
$output = \'<h3 class="cite"><a href="\' . $url . \'">\' . $title . \'</a></h3>\';
else if ( !empty( $title ) && !empty( $name ) )
$output = \'<h3 class="cite">\' . $title . \' | \' . $name . \'</h3>\';
else if ( !empty( $title ) )
$output = \'<h3 class="cite">\' . $title . \'</h3>\';
else if ( !empty( $name ) )
$output = \'<h3 class="cite">\' . $name . \'</h3>\';
else if ( !empty( $url ) )
$output = \'<h3 class="cite"><a href="\' . $url . \'">\' . $snippet . \'</a></h3>\';
else
$output = \'\';
echo $output;
?>
</div>
如果没有,请告诉我!