Я новичок в программировании ... (Вопрос абсолютно о программировании, но я использую WordPress) Я стараюсь быть очень ясным:
У меня есть многоузловая сеть на основе поддоменов.Если пользователи размещают сообщения на своих сайтах, я получаю клон из текущего сообщения в мою домашнюю сеть.У этого клона есть канонический URL-адрес, который показывает исходное сообщение, и слизня поста также совпадает (идентификатор не указан).
пример: x отправлено пользователем:
url: xusersite.network.com/4243345/this-is-slug-by-post-title
canonical: xusersite.network.com/4243345/this-is-slug-by-post-title
Я получаю:
url: network.com/123677745/this-is-slug-by-post-title
canonical: xusersite.network.com/4243345/this-is-slug-by-post-title
Теперь я хочу получить ID поста клона на дочернем сайте по оригинальному сообщению ... поэтому у меня есть этот код:
switch_to_blog( 1 );
$canonical = 'xusersite.network.com/4243345/this-is-slug-by-post-title';
$slug = 'this-is-slug-by-post-title'; // current slug
$args = array(
'name' => $slug,
'post_type' => 'post',
'post_status' => 'publish',
'numberposts' => 1
);
$my_posts = get_posts($args);
Это нормально, но проблема, если другой пользователь опубликовал сообщение с таким же названием для своего блога, например: y отправил:
url: yusersite.network.com/72543/this-is-slug-by-post-title
canonical: yusersite.network.com/72543/this-is-slug-by-post-title
Я получил сообщение с таким же заголовком:
url: network.com/776536556733/this-is-slug-by-post-title
canonical: yusersite.network.com/72543/this-is-slug-by-post-title
Так что мойЗнание PHP теперь здесь, я могу сделать это:
if( $my_posts ) :
$cloneid = $my_posts[0]->ID;
$clonecanonical = wp_get_canonical_url( $cloneid );
if( $clonecanonical == $canonical ) :
$exit = 'true';
else :
$exit = 'false';
endif;
endif;
Как я могу получить следующие $ my_posts, так ID $ my_posts [1] ->, если $ exit равен false?Как я могу получить правильные $ my_posts?