Теперь мой тикер $ в сообщениях определяется тегом, и он отлично работает для виджета
Global $wp_query;
$post_id = $wp_query->get_queried_object_id();
$tags = wp_get_post_tags($post_id);
$category = get_the_category($post_id);
$isHome = is_front_page();
$isArticle = !(empty($tags) || is_category());
//if (!$isHome && !$isArticle && empty($args['force'])) return;
// before and after widget arguments are defined by themes
echo $args['before_widget'];
if (!empty($title))
echo $args['before_title'] . $title . $args['after_title'];
$ticker = tr_get_ticker($post_id);
$sector = tr_get_sector($post_id);
if( $title = apply_filters( 'widget_title', $instance['title'] ) )
echo $args['before_title'] . $title . $args['after_title']; ?>
<div class="more-equities-research-at-tipranks" style="margin: 25px 0 15px 0;">
<h3>More <span class="equities-name"><?php echo $ticker ?></span> Research at TipRanks</h3>
но есть посты, в которых нет тегов.
И мне нужно получить $ ticker из тегов ИЛИ из span в статьях:
Что я должен делать?
А вот тег поиска по необходимости:
function tr_get_ticker($post_ID) {
$ticker = get_post_meta($post_ID, 'ticker', TRUE);
if (empty($ticker)) {
$tags = wp_get_post_tags($post_ID);
foreach ($tags as $tag) {
$term = $tag->name;
$isTicker = strlen($term) <= 5 && ctype_upper($term);
$isTickerWeak = strlen($term) <= 5;
if ($isTickerWeak) {
$ticker = $term;
}
if ($isTicker) {
$ticker = $term;
break;
}
}
}
return strtoupper($ticker);
Задача ещё не решена.
Других решений пока нет …