#php #wordpress #function
#php #wordpress #функция
Вопрос:
Я понятия не имею, почему это не работает. Любая помощь была бы очень признательна.
<?php
add_shortcode( 'CuFi' , 'CuFi_shortcode_callback');
function CuFi_shortcode_callback() {
$Title = get_post_meta( $post->ID, 'book', true);
$Number = get_post_meta( $post->ID, 'isbn', true);
if (!empty ( $Title )) {
echo '<p> Book Title: ' . $Title . '</p>';
echo '<p>ISBN: ' . $Number . '</p>';
}
}
?>
Комментарии:
1. Что именно вы имеете в виду под «нерабочим»? Просто наблюдая, я чувствую проблемы, поскольку вы используете переменную $ post без ее определения. По крайней мере, вам не хватает «global $ post;» и тогда нам нужно знать, где вы пытаетесь использовать этот короткий код. Глобальная переменная $ post может не существовать в это время
2. Пожалуйста, отредактируйте свой вопрос, чтобы включить правильное объяснение того, что на самом деле означает «не работает» в вашем случае. Что происходит? idownvotedbecau.se/itsnotworking
Ответ №1:
просто поместите global $post в свой код
потому что вы не получили идентификатор записи
add_shortcode( 'CuFi' , 'CuFi_shortcode_callback');
function CuFi_shortcode_callback() {
global $post;
$Title = get_post_meta( $post->ID, 'book', true);
$Number = get_post_meta( $post->ID, 'isbn', true);
if (!empty ( $Title )) {
echo '<p> Book Title: ' . $Title . '</p>';
echo '<p>ISBN: ' . $Number . '</p>';
}
}
я надеюсь, что это нормально работает на вашем сайте 🙂 приветствия
Комментарии:
1. Спасибо, Мехул Поранья, за вашу помощь. Теперь он «работает» по желанию. Приветствия!
2. @mgk не могли бы вы указать мой ответ как принятый, если это помогло. 🙂