Öncelikle, ben bir WP-noob ben kabul ediyorum, bu yüzden ben bu konuda doğru yolu gidiyorum bile emin değilim. Ben the_content eşleşen metin yerine, basit bir eklenti oluşturmak için çalışıyorum. Kod benim PHP test sunucusu üzerinde çalışır, ancak WP başarısız, ben bir şey eksik inanmak beni bırakarak. Birisi bana doğru yönde işaret edebilir umuyorum.
Ben biçimi [özel attr = "x" attr2 = "y"] someText [/ özel] bir dize için the_content aramak kodu istiyorum. Bunu yapmak için, ben sadece o str_replace ile dışarı takas, desen maç preg_match / regex kullanarak ediyorum. (WP görünüşte hızlı bağlantılar için bu kullandığından beri) kare parantez soruna neden olup olmadığını ben emin değilim. Herkes bir el ödünç miyim?
Bazı örnek kod aşağıda (basitleştirilmiş $txt
, ama yine de ben başarmak için çalışıyorum ne bir fikir edinebilirsiniz). Teşekkür ederim.
function test_function($content)
{
global $post;
$match = preg_match_all('/[custom w="(\d+)" h="(\d+)"\]((?:[a-z][a-z][0-9]+[a-z0-9]))\[\/custom\]/is', $content, $matches);
if($match) {
$width = $matches[1][0];
$height = $matches[2][0];
$customtxt = $matches[3][0];
$rep = '[custom attr="' . $width . '" attr2="' . $height . '"]' . $customtext . '[/custom]';
$txt = '
<div id="' . $customtxt . '_container" class="overlay">
<img width="'.$width.'" height="'.$height.'" src="'.$customtxt.'_thumb.jpg" />
</div>
';
if(strpos($content, $rep)) {
$content = str_replace($rep, $txt, $content);
}
}
return $content;
}
function insert_head()
{
?>
<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<script language="javascript" type="text/javascript" src="<?php bloginfo('wpurl') ?>/wp-content/plugins/test_function/js/test_function.pack.js"></script>
<?php
}
add_action('wp_head', 'insert_head');
if(is_single()) {
add_filter('the_content', 'test_function');
} else {
add_filter('the_excerpt', 'test_function');
}