У меня есть собственный тип публикации («Фотографии») и таксономия («Местоположения») на веб-сайте моего клиента. Постоянные ссылки работают правильно при доступе с помощью меню, поиска и непосредственно из настраиваемого типа публикации в панели администратора WordPress, но не при доступе к ним с использованием поля объекта публикации «Расширенные настраиваемые поля» в моем шаблоне Timber/Twig. Часть таксономии (
) URL-адреса не заменяется. Например, http://example.com/photos/`%locations%` ... he-ganges/. %locations% следует заменить на world и india, которые являются местоположениями из пользовательской таксономии.
Поле настраиваемого объекта публикации сообщения втягивается в шаблон с помощью следующего кода: {{ __('View фотогалерея', textdomain) }}.
Я включил свой собственный тип публикации и код таксономии ниже:
Я сохранял свои постоянные ссылки несколько раз, и у меня есть методlush_rewrite_rules(); в нижней части файла функций моей темы. Обновить
WordPress отображает это предупреждение. В строке 422 файла function.php указан недопустимый аргумент foreach(). Код следующий:
У меня есть собственный тип публикации («Фотографии») и таксономия («Местоположения») на веб-сайте моего клиента. Постоянные ссылки работают правильно при доступе с помощью меню, поиска и непосредственно из настраиваемого типа публикации в панели администратора WordPress, но не при доступе к ним с использованием поля объекта публикации «Расширенные настраиваемые поля» в моем шаблоне Timber/Twig. Часть таксономии ([code]%locations%[/code]) URL-адреса не заменяется. Например, http://example.com/photos/`%locations%`/taj-mahal-and-the-ganges/. %locations% следует заменить на [b]world[/b] и [b]india[/b], которые являются местоположениями из пользовательской таксономии. Поле настраиваемого объекта публикации сообщения втягивается в шаблон с помощью следующего кода: [url={{ Story.meta( ]{{ __('View фотогалерея', textdomain) }}[/url]. Я включил свой собственный тип публикации и код таксономии ниже: [code]function textdomain_register_photos_post_type() { $args = [ 'label' => 'Photo Galleries', 'labels' => [ 'singular_name' => _x( 'Photo Gallery', 'singular' ), 'menu_name' => _x( 'Photo Galleries', 'admin menu' ), 'name_admin_bar' => _x( 'Photo Galleries', 'admin bar' ), 'add_new' => _x( 'Add New', 'add new' ), 'add_new_item' => __( 'Add New Photo Gallery' ), 'new_item' => __( 'New Photo Gallery' ), 'edit_item' => __( 'Edit Photo Gallery' ), 'view_item' => __( 'View Photo Gallery' ), 'all_items' => __( 'All Photo Galleries' ), 'search_items' => __( 'Search Photo Galleries' ), 'not_found' => __( 'No photo galleries found.' ), ], 'supports' => array( 'title', 'editor', 'thumbnail' ), 'public' => true, 'menu_position' => 5, 'menu_icon' => 'dashicons-format-gallery', 'capability_type' => 'post', 'taxonomies' => [ 'locations', ], 'has_archive' => true, 'delete_with_user' => false, 'rewrite' => [ 'slug' => 'photos/%locations%', 'with_front' => false, ], ]; register_post_type( 'photos', $args ); }; add_action( 'init', 'textdomain_register_photos_post_type' );
add_filter( 'post_type_link', 'textdomain_post_type_link', 10, 2 ); function textdomain_post_type_link( $post_link, $post ) { // Bail out if not photos post type. if ( 'photos' !== $post->post_type ) { return $post_link; }
if ( ! empty( $slug ) ) { $post_link = str_replace( '%' . $taxonomy . '%', join( '/', $slug ), $post_link ); } return $post_link; } [/code] Я сохранял свои постоянные ссылки несколько раз, и у меня есть методlush_rewrite_rules(); в нижней части файла функций моей темы. [b]Обновить[/b] WordPress отображает это предупреждение. В строке 422 файла function.php указан недопустимый аргумент foreach(). Код следующий: [code]$taxonomy = 'locations'; $terms = get_the_terms( get_the_ID(), $taxonomy ); $slug = [];
foreach ( $terms as $term ) { if ( $term->parent == 0 ) { array_unshift( $slug, sanitize_title_with_dashes( $term->name ) ); } else { array_push( $slug, sanitize_title_with_dashes( $term->name ) ); } } [/code] Я не уверен, может ли это быть причиной проблемы, но мои знания PHP ограничены. Любые советы или предложения по этой проблеме очень важны. оценил.