Ответы пользователя по тегу WordPress
  • Возможно ли добавить в url записи post_typeB slug записи post_typeA?

    @aleksmeh Автор вопроса
    Руки и голова из "одного места"
    Ответ написан
    Комментировать
  • Wordpress - add_rewrite_rule и sitemap?

    @aleksmeh Автор вопроса
    Руки и голова из "одного места"
    Вся проблема заключалась в получении значения мета поля, а именно:
    $parent = rwmb_get_value( 'turcountry' , $post_id );

    Я использовал rwmb_get_value(), плагина metabox io, которым собственно и передавал это значение. Так как я глупый и не могу понять почему, НО сам факт - rwmb_get_value - "не тянуло" и после того как я заменил его на get_post_meta() (подробнее тут), все проблемы ранее озвученные мной ушли. Т.е. sitemap строится нормально, автопостинг работает нормально.

    Много букв, что бы гугл это нашёл. Всем добра! Полный код, рабочий, у меня, хотя возможно это и костыль или даже порно, носам факт

    function my_add_rewrite_rules_turs() {
    	add_rewrite_tag('%turs%', '([^/]+)','turs=');
    	add_permastruct('turs', '/countries/%countries%/turs/%turs%', false);
    	add_rewrite_rule('^countries/([^/]+)/turs/([^/]+)/?','index.php?turs=$matches[2]','top');
    }
    add_action( 'init', 'my_add_rewrite_rules_turs' );
    
    function my_permalinks_turs($permalink, $post, $leavename) {
    	$post_id = $post->ID;
    	if($post->post_type != 'turs' || empty($permalink) || in_array($post->post_status, array('draft', 'pending', 'auto-draft')))
    	 	return $permalink;
    	$parent = get_post_meta( $post_id, 'turcountry' , true );
    	$parent_post = get_post( $parent );
    	$permalink = str_replace('%countries%', $parent_post->post_name, $permalink);
    	return $permalink;
    }
    add_filter('post_type_link', 'my_permalinks_turs', 10, 3);
    Ответ написан