Intereting Posts
Как настроить список комментариев Как установить максимальную ширину для исходных изображений? Инструмент обрезки WordPress выделен серым цветом добавить сообщение meta front end изменить Запросить сообщения по пользовательскому идентификатору таксономии wordpress, идентификатор категории Можно ли просто использовать wp-cli для переноса одного экземпляра мультисайта на один сайт? Как добавить новую страницу меню / подменю в WPMVC? Сравните два числовых пользовательских поля Как использовать почтовые пользовательские метаданные в заголовках сообщений и постоянных сообщениях Как защитить пароль страницы категории / нет? Пользовательский тип категории. URL-адрес URL-адреса перенаправляется на главную страницу. Кто отвечает за санацию данных в разработке WordPress? Как я могу предотвратить перенаправление моей пользовательской формы на wp-login? При необходимости содержимого замените фильтр для сообщений в определенной категории wordpress

Отображение пользовательских сообщений Meta

Я разрабатываю простой плагин рейтинга. Каждый пост имеет свой собственный счет, и эти подсчеты сохраняются как настраиваемые поля.

Проблема в том, что независимо от того, насколько я занимаюсь исследованием, я все еще не мог найти правильный способ манипулировать дизайном темы, чтобы отображать пост-мета, как мне нравится. Я нашел несколько способов изменения файла content.php темы, но это не имеет смысла, потому что я хочу, чтобы этот плагин работал над каждой темой. Также в wordpress codex сказано, что я могу сделать это, используя теги шаблонов в цикле, однако страница index.php, которую я могу настроить, встраивается в мой каталог плагинов.

Что я должен делать, чтобы отображать ранжирование метаданных должным образом для всех тем?

Чтобы изменить содержимое сообщения, вы можете использовать фильтр the_content . Вы (возможно) только хотите добавить мета-сообщение в основной запрос. Если нет, вы можете пропустить is_main_query() . Затем вы можете просто получить мета-сообщение и отформатировать его, как вы считаете нужным, и добавить его в контент.

 //* Add filter to the_content if we're in the main query add_action( 'the_post', 'wpse_261935_the_post' ); function wpse_261935_the_post( $post ) { if( is_main_query() ) { add_filter( 'the_content', 'wpse_261935_the_content' ); } } function wpse_261935_the_content( $content ) { //* Make sure to add and remove filter for each post //* to make sure it's in the main query remove_filter( 'the_content', 'wpse_261935_the_content' ); $wpse_261935_meta = get_post_meta( get_post()->ID, '_wpse_261935_post_meta_key', true ); $wpse_261935_content = wpse_261935_format_post_meta( $wpse_261935_meta ); return $wpse_261935_content . $content; } function wpse_261935_format_post_meta( $post_meta ) { //* Format the post meta however you'd like return $html; } 
 <?php /* Plugin Name: My post rating Plugin URI: Version: 0.1 Author: NONE Author uri: Description: My post rating with meta key output Text Domain: rating Domain Path: /languages */ /* Usage: Code in template in single or loop. Via function: <?php echo my_simply_rating(); ?> Via shortcode: Post rating count: do_shortcode['myrating'] */ function my_simply_rating() { $count = get_post_meta( get_post()->ID, '_post_meta_key', true ); return $count; } add_shortcode('myrating', 'my_simply_rating'); ?>