0

カテゴリごとに投稿内にバナーを追加しようとしています。1000単語の後にバナーを表示するフォローコードを取得しました。しかし、たとえば、カテゴリ 3 のバナーを表示したいのですが、別のバナーがカテゴリ 1 の場合、誰かが正確に何を追加する必要があるか教えてもらえますか?

よろしく。

これがコードです。

function inject_ad_text_after_n_chars($content) {
// only do this if post is longer than 1000 characters
$enable_length = 1000;
// insert after the first </p> after 160 characters
$after_character = 160;
if (is_single() && strlen($content) > $enable_length) {
$before_content = substr($content, 0, $after_character);
$after_content = substr($content, $after_character);
$after_content = explode('</p>', $after_content);
$text = '


    <center><a href="http://www.misite.net/descargar.php?go=1"       target="_blank">       <img src="http://www.misite.net/reproductor.jpg" alt="http://www.misite.net/reproductor.jpg" /></a></center>&nbsp

';
array_splice($after_content, 1, 0, $text);
$after_content = implode('</p>', $after_content);
return $before_content . $after_content;
}
else {
return $content;
}
}

私はこれを試してみましたが、文字列エラーが表示されました:

function inject_ad_text_after_n_chars($content) {
// only do this if post is longer than 1000 characters
$enable_length = 1000;
// insert after the first </p> after 160 characters
$after_character = 160;
if (is_single() && strlen($content) > $enable_length) {
$before_content = substr($content, 0, $after_character);
$after_content = substr($content, $after_character);
$after_content = explode('</p>', $after_content);
$text = '

if ( in_category( 1,3 ) ) {
$text = '<a href="http://www.misite.com/enlace"       target="_blank"><img     src="http://www.misite.com/banner1.jpg" alt="http://www.misite.com/banner1.jpg" /></a>';
} elseif ( in_category( 38158 ) ) {
$text = '<a href="http://www.misite.com/enlace"       target="_blank"><img  src="http://www.misite.com/banner2.jpg" alt="http://www.misite.com/banner2.jpg" /></a>';
} else {
$text = '<a href="http://www.misite.com/enlace"       target="_blank"><img src="http://www.misite.com/banner3.jpg" alt="http://www.misite.com/banner3.jpg" /></a>';
}


';
array_splice($after_content, 1, 0, $text);
$after_content = implode('</p>', $after_content);
return $before_content . $after_content;
}
else {
return $content;
}
}  

またあったね!。正常に動作しています。みんなありがとう!作業コードは次のとおりです。

function inject_ad_text_after_n_chars($content) { 
// only do this if post is longer than 1000 characters 
$enable_length = 1000; 
// insert after the first </p> after 160 characters 
$after_character = 160; 
if (is_single() && strlen($content) > $enable_length) { 
$before_content = substr($content, 0, $after_character); 
$after_content = substr($content, $after_character); 
$after_content = explode('</p>', $after_content); 
if ( in_category( 1 ) ) { 
$text = '<center><a href="http://www.misite.com/enlace"       target="_blank"><img     src="http://www.misite.com/banner1.jpg" alt="http://www.misite.com/banner1.jpg" /></a></center>'; 
} elseif ( in_category( 3 ) ) { 
$text = '<center><a href="http://www.misite.com/enlace"       target="_blank"><img src="http://www.misite.com/banner2.jpg" alt="http://www.misite.com/banner2.jpg" /></a></center>';     
} elseif ( in_category( 4 ) ) { 
$text = '<center><a href="http://www.misite.com/enlace"       target="_blank"><img src="http://www.misite.com/banner3.jpg" alt="http://www.misite.com/banner3.jpg" /></a></center>'; 
} else { 
$text = '<center><a href="http://www.misite.com/enlace"       target="_blank"><img src="http://www.misite.com/bydefault.jpg" alt="http://www.misite.com/bydefault.jpg" /></a></center>'; 
} 
array_splice($after_content, 1, 0, $text); 
$after_content = implode('</p>', $after_content); 
return $before_content . $after_content; 
} 
else { 
return $content; 
} 
} 
add_filter('the_content', 'inject_ad_text_after_n_chars');  
4

1 に答える 1

0

in_category条件付きタグを使用します。例:

if ( in_category( 1 ) ) {
    $text = '<img src="http://example.com/banner-1.png">';
} elseif ( in_category( 3 ) ) {
    $text = '<img src="http://example.com/banner-3.png">';
} else {
    $text = '<img src="http://example.com/banner-default.png">';
}
于 2013-05-12T20:01:11.460 に答える