Оператор == всегда предназначен для сравнения ссылок на объекты, тогда как метод сравнения строк .equals () переопределяется для сравнения содержимого:
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2); // It prints false (reference comparison)
System.out.println(s1.equals(s2)); // It prints true (content comparison)
Я копирую / вставляю ваш шорткод, и эта строка работает как задумано:
return $album_id = $attr['album'];
Возвращает переданный параметр альбома. Если вы хотите, вы можете использовать extract , чтобы получить идентификатор непосредственно как $ album:
extract(shortcode_atts(
array(
'album' => 1,
)
, $attr));
теперь это выглядит довольно неправильно:
<script src="http://linklink.net/cpg/api-posts.php"></script>
is для JavaScript это не имеет ничего общего с php. просто включите оператор sql и выведите его прямо в шорткод. изменил способ возврата данных (ob_start / get_clean). также, как упоминал Дхарман, проверьте, как безопасно выполнять 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');