带查询的简码 WordPress SQL
Shortcode WordPress with Query SQL
我想创建一个简码,这样我就可以 "connect" 我的 Coppermine 画廊与我的 Wordpress,遗憾的是我没能做到
我在我的帖子中使用这个
[cpg album="533"]
调用此函数
function cpg_shortcode( $attr ) {
shortcode_atts(
array(
'album' => 1,
), $attr
);
return $album_id = $attr['album'];
return '<script src="http://linklink.net/cpg/api-posts.php"></script>';
}
add_shortcode( 'cpg', 'cpg_shortcode' );
这是脚本文件,没有任何错误,可以正常工作,但我必须在其中获取相册 ID
$query = mysql_query("SELECT * FROM `cpgq7_pictures` WHERE aid=$album_id ORDER BY ctime DESC LIMIT 0 , 3");
echo 'document.write(\'';
if(mysql_num_rows($query) == 0){
echo 'No hay fotos';
} else {
echo '<h6>';
while($row = mysql_fetch_array($query)){
$domain = "http://linklink.net/cpg";
$album_url = "$domain/thumbnails.php?album=$album_id#content";
$album_img = "$domain/albums/".$row['filepath'].'thumb_'.$row['filename'];
echo '<a href="'.$album_url.'" target="_blank"><img src="'.$album_img.'" alt="" /></a>';
}
echo '<a href="'.$album_url.'" target="_blank"><img src="https://i.imgur.com/4wmomUt.png" alt="" /></a></h6>';
}
echo '\');';
当我尝试从短代码中获取专辑 ID 时,它不起作用
感谢任何帮助。
我 copy/pasted 你的短代码,这一行按预期工作:
return $album_id = $attr['album'];
Returns传递的相册参数。如果需要,您可以使用 extract 直接将 id 作为 $album 可用:
extract(shortcode_atts(
array(
'album' => 1,
)
, $attr));
现在这看起来很不对:
<script src="http://linklink.net/cpg/api-posts.php"></script>
是针对javascript的,与php无关。只需包含 sql 语句并直接在您的短代码中输出。更改了返回数据的方式 (ob_start/get_clean)。另外,就像 Dharman 提到的,检查如何安全地执行 sql 语句。
function cpg_shortcode($attr) {
extract(shortcode_atts(
array(
'album' => 1,
)
, $attr));
ob_start();
$query = mysql_query("SELECT * FROM `cpgq7_pictures` WHERE aid=$album ORDER BY ctime DESC LIMIT 0 , 3");
if (mysql_num_rows($query) == 0) {
echo 'No hay fotos';
} else {
echo '<h6>';
while ($row = mysql_fetch_array($query)) {
$domain = "http://linklink.net/cpg";
$album_url = "$domain/thumbnails.php?album=$album#content";
$album_img = "$domain/albums/" . $row['filepath'] . 'thumb_' . $row['filename'];
echo '<a href="' . $album_url . '" target="_blank"><img src="' . $album_img . '" alt="" /></a>';
}
echo '<a href="' . $album_url . '" target="_blank"><img src="https://i.imgur.com/4wmomUt.png" alt="" /></a></h6>';
}
return ob_get_clean();
}
add_shortcode('cpg', 'cpg_shortcode');
我想创建一个简码,这样我就可以 "connect" 我的 Coppermine 画廊与我的 Wordpress,遗憾的是我没能做到
我在我的帖子中使用这个
[cpg album="533"]
调用此函数
function cpg_shortcode( $attr ) {
shortcode_atts(
array(
'album' => 1,
), $attr
);
return $album_id = $attr['album'];
return '<script src="http://linklink.net/cpg/api-posts.php"></script>';
}
add_shortcode( 'cpg', 'cpg_shortcode' );
这是脚本文件,没有任何错误,可以正常工作,但我必须在其中获取相册 ID
$query = mysql_query("SELECT * FROM `cpgq7_pictures` WHERE aid=$album_id ORDER BY ctime DESC LIMIT 0 , 3");
echo 'document.write(\'';
if(mysql_num_rows($query) == 0){
echo 'No hay fotos';
} else {
echo '<h6>';
while($row = mysql_fetch_array($query)){
$domain = "http://linklink.net/cpg";
$album_url = "$domain/thumbnails.php?album=$album_id#content";
$album_img = "$domain/albums/".$row['filepath'].'thumb_'.$row['filename'];
echo '<a href="'.$album_url.'" target="_blank"><img src="'.$album_img.'" alt="" /></a>';
}
echo '<a href="'.$album_url.'" target="_blank"><img src="https://i.imgur.com/4wmomUt.png" alt="" /></a></h6>';
}
echo '\');';
当我尝试从短代码中获取专辑 ID 时,它不起作用
感谢任何帮助。
我 copy/pasted 你的短代码,这一行按预期工作:
return $album_id = $attr['album'];
Returns传递的相册参数。如果需要,您可以使用 extract 直接将 id 作为 $album 可用:
extract(shortcode_atts(
array(
'album' => 1,
)
, $attr));
现在这看起来很不对:
<script src="http://linklink.net/cpg/api-posts.php"></script>
是针对javascript的,与php无关。只需包含 sql 语句并直接在您的短代码中输出。更改了返回数据的方式 (ob_start/get_clean)。另外,就像 Dharman 提到的,检查如何安全地执行 sql 语句。
function cpg_shortcode($attr) {
extract(shortcode_atts(
array(
'album' => 1,
)
, $attr));
ob_start();
$query = mysql_query("SELECT * FROM `cpgq7_pictures` WHERE aid=$album ORDER BY ctime DESC LIMIT 0 , 3");
if (mysql_num_rows($query) == 0) {
echo 'No hay fotos';
} else {
echo '<h6>';
while ($row = mysql_fetch_array($query)) {
$domain = "http://linklink.net/cpg";
$album_url = "$domain/thumbnails.php?album=$album#content";
$album_img = "$domain/albums/" . $row['filepath'] . 'thumb_' . $row['filename'];
echo '<a href="' . $album_url . '" target="_blank"><img src="' . $album_img . '" alt="" /></a>';
}
echo '<a href="' . $album_url . '" target="_blank"><img src="https://i.imgur.com/4wmomUt.png" alt="" /></a></h6>';
}
return ob_get_clean();
}
add_shortcode('cpg', 'cpg_shortcode');